PostgreSQL ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ทธ ๊ฒฐ๊ณผ์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
์ ๊ทธ๋์ผ๋ง ํ๋์? ์, ์ง๋ 4๋
๋์ ๋ชจ๋ ๊ฒ์ด ์๊ณ๊ฐ ๋๋ฑ๊ฑฐ๋ฆฌ๋ ๊ฒ์ฒ๋ผ ์กฐ์ฉํ๊ณ ์นจ์ฐฉํ๊ฒ ์๋ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
๋น๋ฌธ์ผ๋ก.
์ค์ ์ฌ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
์ด๋ฆ์ ๋ชจ๋ ๋ณ๊ฒฝ๋์์ผ๋ฉฐ ์ฐ์ฐ์ ์ผ์น๋ ๋ฌด์์์
๋๋ค.
ํน์ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ ๋ ๋ชจ๋ ๊ฒ์ด ์์๋ ์์์ ์๋๋ ฅ์ด ๋ฌด์์ธ์ง ๊ธฐ์ตํ๋ ๊ฒ์ ํญ์ ํฅ๋ฏธ ๋กญ์ต๋๋ค.
๊ทธ๋์ ๊ทธ ๊ฒฐ๊ณผ ์ผ์ด๋ ์ผ์ ๊ธฐ์ฌ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช
๋์ด ์์ต๋๋ค.
์ด์ ์ด๋ฒคํธ ์ฒด์ธ์ ์ฌํํ๋ ๊ฒ์ ์๋ง๋ ํฅ๋ฏธ๋ก์ธ ๊ฒ์
๋๋ค.
๊ธฐ๋ก์๋ ์ ํํ ์์ ๋ ์ง์ธ 2018-09-10 18:02:48์ด ์ ์ฅ๋์์ต๋๋ค.
๋ํ ์ด์ผ๊ธฐ์๋ ๋ชจ๋ ๊ฒ์ด ์์๋ ์์ฒญ์ด ์์ต๋๋ค.
๋ฌธ์ ์์ฒญSELECT
p.parameter_id๋ก "PARAMETER_ID",
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS ๊ณ ๊ฐ_๋ถํ๋ฒํธ,
w. "LRM"์ LRM์ผ๋ก,
w. "LOTID"๋ ๋กํฐ๋๋ก์,
w.RTD_๊ฐ์ผ๋ก์ "RTD_VALUE",
w.โLOWER_SPEC_LIMITโ AS lower_spec_limit,
w.โUPPER_SPEC_LIMITโ AS upper_spec_limit,
p."TYPE_CALCUL" AS type_calcul,
s."SPENT_NAME" AS ์ฌ์ฉ_์ด๋ฆ,
s.โSPENT_DATEโ AS ์ฌ์ฉ_๋ ์ง,
extract("SPENT_DATE"์ ์ฐ๋) AS ์ฐ๋,
("SPENT_DATE"์ ์)์ ์๋ก ์ถ์ถํฉ๋๋ค.
s."REPORT_NAME" AS ๋ณด๊ณ ์_์ด๋ฆ,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
wdata w์์,
s๋ฅผ ๋ณด๋๋ค,
์คํํฐ๋ฅดํผ,
์ง์ถ_pd sp,
PD PD
WHERE s.โSPENT_IDโ = w.โSPENT_IDโ
AND p."PARAMETER_ID" = w."PARAMETER_ID"
AND s.โSPENT_IDโ = sp.โSPENT_IDโ
AND pd."PD_ID" = sp."PD_ID"
AND s.โSPENT_DATEโ >= '2018-07-01' AND s.โSPENT_DATEโ <= '2018-09-30'
๋ฐ s.โSPENT_DATEโ = (SELECT MAX(s2.โSPENT_DATEโ)
์ฌ์ฉํ s2์์,
w๋ฐ์ดํฐ w2
WHERE s2.โSPENT_IDโ = w2.โSPENT_IDโ
AND w2.โLRMโ = w.โLRMโ);
๋ฌธ์ ์ ๋ํ ์ค๋ช
์ ์์๋๋ก ํ์ค์
๋๋ค. โ๋ชจ๋ ๊ฒ์ด ๋์ฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ๋งํด ๋ณด์ธ์.โ
๋๋ ์ฆ์ 3์ธ์น ๋๋ผ์ด๋ธ ์์ ์ ์ผํ๋ฅผ ๋ ์ฌ๋ ธ์ต๋๋ค.
๋ผ๋จธ๊ฐ ํด์ปค์๊ฒ ๋ค๊ฐ์ต๋๋ค.
- ์๋ฌด๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์๋ ๊ณณ์ ์๋ ค์ฃผ์ญ์์ค.
- DNA์...
ํ์ง๋ง ๋ฌผ๋ก ์ด๊ฒ์ด ์ฑ๋ฅ์ฌ๊ณ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์๋๋๋ค. โ๊ทธ๋ค์ ์ฐ๋ฆฌ๋ฅผ ์ดํดํ์ง ๋ชปํ ์๋ ์์ต๋๋ค" (์ ํจ๊ป). ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ์์๋ด์ผ ํฉ๋๋ค.
๊ธ์, ํํค์ณ ๋ณด์. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ญ๊ฐ๊ฐ ์์ผ ์๋ ์์ต๋๋ค.
์กฐ์ฌ๊ฐ ์์๋์์ต๋๋ค
๋ฐ๋ผ์ EXPLAIN์ ์์งํ์ง ์๊ณ ๋ ์ก์์ผ๋ก ์ฆ์ ๋ณผ ์ ์๋ ๊ฒ์ ๋ฌด์์
๋๊น?
1) JOIN์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ํนํ ์ฐ๊ฒฐ ์๊ฐ ๋ ์ด์์ธ ๊ฒฝ์ฐ ์ด๋ ์ข์ง ์์ต๋๋ค.
2) ๊ทธ๋ฌ๋ ๋์ฑ ๋์ ๊ฒ์ ์ง๊ณ์ ๊ด๋ จ๋ ํ์ ์ฟผ๋ฆฌ์
๋๋ค. ์ด๊ฑด ์ ๋ง ๋๋น .
๋ฌผ๋ก ์ด๊ฒ์ ๋์๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ํํธ์๋ง ํด๋น๋ฉ๋๋ค. ๋ฐ๋ฉด์, ๋ฌธ์ ์๋ ๋ถ๋ช
ํ ํด๊ฒฐ๋ฐฉ์๊ณผ ๊ฐ์ ํ ์ ์๋ ์๊ตฌ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ข์ต๋๋ค.
์ ์์ด์๊ฒ ๊ฐ์ง ๋ง์ธ์ (C).
์ฟผ๋ฆฌ ๊ณํ์ ๊ทธ๋ค์ง ๋ณต์กํ์ง๋ ์์ง๋ง ๋งค์ฐ ์์ฌ์ ์
๋๋ค.
์คํ ๊ณํ
ํ์์ ๊ฐ์ด ๊ฐ์ฅ ํฅ๋ฏธ๋กญ๊ณ ์ ์ฉํ ๊ฒ์ ์์๊ณผ ๋์
๋๋ค.
์ค์ฒฉ ๋ฃจํ(๋น์ฉ=935.84..479763226.18ํ=3322๋๋น=135)(์ค์ ์๊ฐ=31.536..8220420.295ํ=8111656๋ฃจํ=1)
๊ณํ ์๊ฐ: 3.807ms
์คํ ์๊ฐ: 8222351.640ms
์๋ฃ ์๊ฐ์ 2์๊ฐ ์ด์์
๋๋ค.
์๊ฐ์ด ๊ฑธ๋ฆฐ ์๋ชป๋ ๊ฐ์ค
๊ฐ์ค 1 - ์ต์ ํ ํ๋ก๊ทธ๋จ์ด ์ค์๋ฅผ ํ๊ณ ์๋ชป๋ ๊ณํ์ ์ธ์๋๋ค.
์คํ ๊ณํ์ ์๊ฐํํ๊ธฐ ์ํด ์ฌ์ดํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฐ์ค 2 - Autovacuum ์ธก์์ ๋ฒ ์ด์ค์ ์ํฅ์ ๋ฏธ์น๋ ค๋ฉด ๋ธ๋ ์ดํฌ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ autovacuum ๋ฐ๋ชฌ์ ์ ์๋ํ๋ฉฐ ์ค๋ ๊ฑธ๋ฆฌ๋ ํ๋ก์ธ์ค๊ฐ ์์ต๋๋ค. ์ฌ๊ฐํ ๋ถํ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค๋ฅธ ๊ฒ์ ์ฐพ์์ผ ํฉ๋๋ค.
๊ฐ์ค 3 - ํต๊ณ๊ฐ ์ค๋๋์ด ๋ชจ๋ ๊ฒ์ ๋ค์ ๊ณ์ฐํด์ผ ํฉ๋๋ค.
๋ค์ ๋งํ์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค. ํต๊ณ๋ ์ต์ ์ ๋๋ค. Autovacuum์ ๋ฌธ์ ๊ฐ ์๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ์ด๋ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค.
์ต์ ํ๋ฅผ ์์ํด๋ณด์
๋ฉ์ธ ํ
์ด๋ธ 'wdata'๋ ํ์คํ ์์ง ์์ต๋๋ค. ๊ฑฐ์ 3๋ง ๊ฐ์ ๋ ์ฝ๋๊ฐ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ Full Scan์ด ๋ฐ๋ฅด๋ ๊ฒ์ด ๋ฐ๋ก ์ด ํ
์ด๋ธ์
๋๋ค.
ํด์ ์กฐ๊ฑด: ((w."SPENT_ID" = s."SPENT_ID") AND ((ํ์ ๊ณํ 1) = s."SPENT_DATE"))
-> ์์ด ์ค์บ wdata w์์ (๋น์ฉ=0.00..574151.49ํ=26886249 ๋๋น=46) (์ค์ ์๊ฐ=0.005..8153.565ํ=26873950 ๋ฃจํ=1)
์ฐ๋ฆฌ๋ ํ์ค์ ์ธ ์ผ์ ํฉ๋๋ค: "์, ์์ธ์ ๋ง๋ค๋ฉด ๋ชจ๋ ๊ฒ์ด ๋ ์๊ฐ ๊ฒ์
๋๋ค."
"SPENT_ID" ํ๋์ ์์ธ์ ์์ฑํ์ต๋๋ค.
๊ทธ ๊ฒฐ๊ณผ :
์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ ์ฟผ๋ฆฌ ์คํ ๊ณํ
๊ธ์์, ๋์์ด ๋๋์?
๊ทธ๊ฒ์ : 8 222 351.640ms (2์๊ฐ ์กฐ๊ธ ๋๊ฒ)
๊ทธ๊ฒ์๋์๋ค : 6 985ms(๊ฑฐ์ 431.575์๊ฐ)
์ผ๋ฐ์ ์ผ๋ก ๋์ผํ ์ฌ๊ณผ, ์ธก๋ฉด๋.
๊ณ ์ ์ ๊ธฐ์ตํฉ์๋ค.
โ๊ฐ์ ๊ฒ์ด ์๋๋ฐ ๋ ๊ฐ๊ฐ ์๋์? ์ถ๊ตฌํ ๊ฒ์ด๋ค."
์์น์ ์ผ๋ก ์ด๊ฒ์ ์ข์ ๊ฒฐ๊ณผ๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๊ธ์, ์ข์ง๋ ์์ง๋ง ์์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์ต์ํ ๊ณ ๊ฐ์๊ฒ ์ผ๋ง๋ ๋ง์ ์ผ์ด ์ด๋ฃจ์ด์ก๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ผ์ด ์ ์ข์๋์ง ์ค๋ช
ํ๋ ๋๊ท๋ชจ ๋ณด๊ณ ์๋ฅผ ์ ๊ณตํ์ญ์์ค.
ํ์ง๋ง ์์ง ์ต์ข
๊ฒฐ์ ์ ๋ฉ์์ต๋๋ค. ์์ฃผ ๋ฉ๋ฆฌ.
์ด์ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ์ ์ ์ฐ๋ฆฌ๊ฐ ๊ณ์ํด์ ์ต์ ํํ๊ณ ์์ฒญ์ ๋ค๋ฌ์ ๊ฒ์ด๋ผ๋ ์ ์ ๋๋ค.
XNUMX๋จ๊ณ - JOIN ์ฌ์ฉ
์ด์ ๋ค์ ์์ฑ๋ ์์ฒญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค(๊ธ์ ์ ์ด๋ ๋ ์๋ฆ๋ค์):
JOIN์ ์ฌ์ฉํ ์ฟผ๋ฆฌSELECT
p.parameter_id๋ก "PARAMETER_ID",
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS ๊ณ ๊ฐ_๋ถํ๋ฒํธ,
w. "LRM"์ LRM์ผ๋ก,
w. "LOTID"๋ ๋กํฐ๋๋ก์,
w.RTD_๊ฐ์ผ๋ก์ "RTD_VALUE",
w.โLOWER_SPEC_LIMITโ AS lower_spec_limit,
w.โUPPER_SPEC_LIMITโ AS upper_spec_limit,
p."TYPE_CALCUL" AS type_calcul,
s."SPENT_NAME" AS ์ฌ์ฉ_์ด๋ฆ,
s.โSPENT_DATEโ AS ์ฌ์ฉ_๋ ์ง,
extract("SPENT_DATE"์ ์ฐ๋) AS ์ฐ๋,
("SPENT_DATE"์ ์)์ ์๋ก ์ถ์ถํฉ๋๋ค.
s."REPORT_NAME" AS ๋ณด๊ณ ์_์ด๋ฆ,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
FROM wdata w INNER JOIN์ s ON w.โSPENT_IDโ=s.โโSPENT_IDโ๋ฅผ ์๋นํ์ต๋๋ค.
INNER JOIN pmtr p ON p.โPARAMETER_IDโ = w.โPARAMETER_IDโ
INNER JOIN sent_pd sp ON s.โSPENT_IDโ = sp.โSPENT_IDโ
INNER JOIN pd pd ON pd.โPD_IDโ = sp.โPD_IDโ
WHERE
s.โSPENT_DATEโ >= '2018-07-01' AND s.โSPENT_DATEโ <= '2018-09-30'AND
s.โSPENT_DATEโ = (์ต๋ ์ ํ(s2.โSPENT_DATEโ)
FROM wdata w2 INNER JOIN์ s2 ON w2.โSPENT_IDโ=s2.โSPENT_IDโ๋ฅผ ์๋นํ์ต๋๋ค.
INNER JOIN wdata w
ON w2.โLRMโ = w.โLRMโ );
๊ณํ ์๊ฐ: 2.486ms
์คํ ์๊ฐ: 1223680.326ms
์, ์ฒซ ๋ฒ์งธ ๊ฒฐ๊ณผ์
๋๋ค.
๊ทธ๊ฒ์ : 6ms(๊ฑฐ์ 985์๊ฐ).
๊ทธ๊ฒ์๋์๋ค : 1 223 680.326ms(20๋ถ ๋จ์ง).
์ข์ ๊ฒฐ๊ณผ. ์์น์ ์ผ๋ก ์ฌ๊ธฐ์๋ ๋ฉ์ถ ์ ์์ต๋๋ค. ํ์ง๋ง ๋๋ฌด ํฅ๋ฏธ๋กญ์ง ์์์ ๋ฉ์ถ ์ ์์ต๋๋ค.
Mbo
XNUMX๋จ๊ณ - ์๊ด๋ ํ์ ์ฟผ๋ฆฌ ์ ๊ฑฐ
๋ณ๊ฒฝ๋ ์์ฒญ ํ
์คํธ:
์๊ด ํ์ ์ฟผ๋ฆฌ ์์SELECT
p.parameter_id๋ก "PARAMETER_ID",
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS ๊ณ ๊ฐ_๋ถํ๋ฒํธ,
w. "LRM"์ LRM์ผ๋ก,
w. "LOTID"๋ ๋กํฐ๋๋ก์,
w.RTD_๊ฐ์ผ๋ก์ "RTD_VALUE",
w.โLOWER_SPEC_LIMITโ AS lower_spec_limit,
w.โUPPER_SPEC_LIMITโ AS upper_spec_limit,
p."TYPE_CALCUL" AS type_calcul,
s."SPENT_NAME" AS ์ฌ์ฉ_์ด๋ฆ,
s.โSPENT_DATEโ AS ์ฌ์ฉ_๋ ์ง,
extract("SPENT_DATE"์ ์ฐ๋) AS ์ฐ๋,
("SPENT_DATE"์ ์)์ ์๋ก ์ถ์ถํฉ๋๋ค.
s."REPORT_NAME" AS ๋ณด๊ณ ์_์ด๋ฆ,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
FROM wdata w INNER JOIN์ ON s.โSPENT_IDโ = w.โSPENT_IDโ๋ฅผ ์๋นํ์ต๋๋ค.
INNER JOIN pmtr p ON p.โPARAMETER_IDโ = w.โPARAMETER_IDโ
INNER JOIN sent_pd sp ON s.โSPENT_IDโ = sp.โSPENT_IDโ
INNER JOIN pd pd ON pd.โPD_IDโ = sp.โPD_IDโ
INNER JOIN (SELECT w2.โLRMโ, MAX(s2.โSPENT_DATEโ)
FROM ์๋น๋ s2 INNER JOIN wdata w2 ON s2.โSPENT_IDโ = w2.โSPENT_IDโ
w2.โLRMโ์ผ๋ก ๊ทธ๋ฃนํ
) md on w.โLRMโ = md.โLRMโ
WHERE
s."SPENT_DATE" >= '2018-07-01' AND s."SPENT_DATE" <= '2018-09-30';
๊ณํ ์๊ฐ: 2.291ms
์คํ ์๊ฐ: 165021.870ms
๊ทธ๊ฒ์ : 1 223 680.326ms(20๋ถ ๋จ์ง).
๊ทธ๊ฒ์๋์๋ค : 165 021.870ms(2๋ถ ๋จ์ง).
์ด๊ฒ์ ์ด๋ฏธ ๊ฝค ์ข์ต๋๋ค.
๊ทธ๋ฌ๋ ์๊ตญ์ธ์ด ๋งํ๋ฏ์ด "๊ทธ๋ฌ๋ ํญ์ ๊ทธ๋ฌ๋" ๋๋ฌด ์ข์ ๊ฒฐ๊ณผ๋ ์๋์ผ๋ก ์์ฌ์ ๋ถ๋ฌ์ผ์ผํฌ ๊ฒ์
๋๋ค. ์ฌ๊ธฐ์ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์๊ด๋ ํ์ ์ฟผ๋ฆฌ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ์ฟผ๋ฆฌ๋ฅผ ์์ ํ๋ ๊ฒ์ ๋ํ ๊ฐ์ค์ ์ ํํฉ๋๋ค. ํ์ง๋ง ์ต์ข
๊ฒฐ๊ณผ๊ฐ ์ ํํ๋ ค๋ฉด ์ฝ๊ฐ ์กฐ์ ํด์ผ ํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์ฒซ ๋ฒ์งธ ์ค๊ฐ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์๊ด ํ์ ์ฟผ๋ฆฌ ์์ด ํธ์ง๋ ์ฟผ๋ฆฌSELECT
p.parameter_id๋ก "PARAMETER_ID",
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS ๊ณ ๊ฐ_๋ถํ๋ฒํธ,
w. "LRM"์ LRM์ผ๋ก,
w. "LOTID"๋ ๋กํฐ๋๋ก์,
w.RTD_๊ฐ์ผ๋ก์ "RTD_VALUE",
w.โLOWER_SPEC_LIMITโ AS lower_spec_limit,
w.โUPPER_SPEC_LIMITโ AS upper_spec_limit,
p."TYPE_CALCUL" AS type_calcul,
s."SPENT_NAME" AS ์ฌ์ฉ_์ด๋ฆ,
s.โSPENT_DATEโ AS ์ฌ์ฉ_๋ ์ง,
์ถ์ถ(s.โSPENT_DATEโ์ ์ฐ๋) AS ์ฐ๋,
(s.โSPENT_DATEโ์ ์)์ ์๋ก ์ถ์ถํ๊ณ ,
s."REPORT_NAME" AS ๋ณด๊ณ ์_์ด๋ฆ,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
FROM wdata w INNER JOIN์ ON s.โSPENT_IDโ = w.โSPENT_IDโ๋ฅผ ์๋นํ์ต๋๋ค.
INNER JOIN pmtr p ON p.โPARAMETER_IDโ = w.โPARAMETER_IDโ
INNER JOIN sent_pd sp ON s.โSPENT_IDโ = sp.โSPENT_IDโ
INNER JOIN pd pd ON pd.โPD_IDโ = sp.โPD_IDโ
๋ด๋ถ ์กฐ์ธ( SELECT w2.โLRMโ, MAX(s2.โSPENT_DATEโ) AS โSPENT_DATEโ
FROM ์๋น๋ s2 INNER JOIN wdata w2 ON s2.โSPENT_IDโ = w2.โSPENT_IDโ
w2.โLRMโ์ผ๋ก ๊ทธ๋ฃนํ
) md ON md.โSPENT_DATEโ = s.โSPENT_DATEโ AND md.โLRMโ = w.โLRMโ
WHERE
s."SPENT_DATE" >= '2018-07-01' AND s."SPENT_DATE" <= '2018-09-30';
๊ณํ ์๊ฐ: 3.192ms
์คํ ์๊ฐ: 208014.134ms
๋ฐ๋ผ์ ์ฐ๋ฆฌ๊ฐ ์ต์ข
์ ์ผ๋ก ๋ง์กฑํ ์ ์๋ ์ฒซ ๋ฒ์งธ ๊ฒฐ๊ณผ๋ ๊ณ ๊ฐ์๊ฒ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด ๋ถ๋๋ฌ์ด ์ผ์ด ์๋๋๋ค.
๋ค์์ผ๋ก ์์๋จ: 8 222 351.640 ms (2์๊ฐ ์ด์)
์ฐ๋ฆฌ๋ 1ms(223๋ถ ์กฐ๊ธ ๋๋ ์๊ฐ)๋ฅผ ๋ฌ์ฑํ์ต๋๋ค.
๊ฒฐ๊ณผ(์ค๊ฐ): 208 014.134ms(3๋ถ ๋จ์ง).
ํ๋ฅญํ ๊ฒฐ๊ณผ.
ํฉ๊ณ
์ฐ๋ฆฌ๋ ๊ฑฐ๊ธฐ์ ๋ฉ์ถ ์๋ ์์์ต๋๋ค.
๊ทธ๋ฌ๋โฆ
์์์ ์์ฌ์ ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ๊ฑท๋ ์ฌ๋์ ๊ธธ์ ๋ง์คํฐํ ๊ฒ์ด๋ค. ๋ชจ๋ ๊ฒฐ๊ณผ๋ ์ค๊ฐ์
๋๋ค. ๋ฉ์ถ๊ณ ์ฃฝ์์ต๋๋ค. ๋ฑ.
์ต์ ํ๋ฅผ ๊ณ์ํด ๋ณด๊ฒ ์ต๋๋ค.
์ข์ ์๊ฐ์ด์์. ํนํ ๊ณ ๊ฐ์ด ์ ๊ฒฝ ์ฐ์ง ์์๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ์ง์ด ๊ทธ๊ฒ์ ์ํด ๊ฐ๋ ฅํ๊ฒ.
์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ค๊ณํด์ผ ํ ๋์
๋๋ค. ์ฟผ๋ฆฌ ๊ตฌ์กฐ ์์ฒด๋ ๋ ์ด์ ์ต์ ํํ ์ ์์ต๋๋ค(๋์ค์ ๋ฐํ์ง ๊ฒ์ฒ๋ผ ๋ชจ๋ ๊ฒ์ด ์ค์ ๋ก ์คํจํ๋์ง ํ์ธํ๋ ์ต์
์ด ์์ง๋ง). ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์ต์ ํ ๋ฐ ๊ฐ๋ฐ์ ์์ํ๋ ๊ฒ์ ์ด๋ฏธ ๋งค์ฐ ์ ๋งํ ์์ด๋์ด์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํฅ๋ฏธ ๋กญ์ต๋๋ค. ๋ค์ ํ ๋ฒ, ๋น์ ์ ์ ์์ ๊ธฐ์ตํ์ญ์์ค. ์ ๋ ๋ฐ๋ก DBA๊ฐ ๋ ๊ฒ์ด ์๋๋ผ ํ๋ก๊ทธ๋๋จธ(BASIC, ์ด์
๋ธ๋ฌ, C, ๋๋ธ ํ๋ฌ์ค C, Oracle, plsql)๋ก ์ฑ์ฅํ์ต๋๋ค. ๋ฌผ๋ก ๋ณ๋์ ํ๊ณ ๋ก์ ๋ํ ํฅ๋ฏธ๋ก์ด ์ฃผ์ ์
๋๋ค ;-).
๊ทธ๋ฌ๋ ์ฐ๋งํด์ง์ง ๋ง์.
๋ฐ๋ผ์,
์๋๋ฉด ํํฐ์
๋์ด ๋์์ด ๋ ๊น์?
์คํฌ์ผ๋ฌ - "์, ์ฑ๋ฅ ์ต์ ํ๋ฅผ ํฌํจํ์ฌ ๋์์ด ๋์์ต๋๋ค."
๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์์ ํ ๋ค๋ฅธ ์ด์ผ๊ธฐ์ ๋๋ค ...
๊ณ์โฆ
์ถ์ฒ : habr.com