เบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเบชเบญเบเบเบฒเบก PostgreSQL เปเบฅเบฐเบชเบดเปเบเบเบตเปเบญเบญเบเบกเบฒเบเบฒเบเบกเบฑเบเบเบฑเบเบซเบกเบปเบ.
เปเบเบฑเบเบซเบเบฑเบเปเบเบปเปเบฒเบเปเบญเบ? เปเบกเปเบเปเบฅเปเบง, เปเบเบฒเบฐเบงเปเบฒ 4 เบเบตเบเปเบญเบ, เบเบธเบเบขเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบฝเบเป, เบชเบฐเบซเบเบปเบ, เบเบทเบเบฑเบเปเบกเบ.
เปเบเบฑเบ epigraph.
เบญเบตเบเปเบชเปเปเบซเบเบเบฒเบเบเบตเปเปเบเปเบเบดเบ.
เบเบทเปเบเบฑเบเบซเบกเบปเบเปเบเปเบเบทเบเบเปเบฝเบ, เบเบฑเบเปเบญเบตเบเปเบกเปเบ Random.
เปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเบฑเบเบฅเบธเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเปเบเปเบเบญเบ, เบกเบฑเบเปเบเบฑเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบชเบฐเปเบซเบกเบตเบเบตเปเบเบฐเบเบทเปเบเปเบฒเบชเบดเปเบเบเบตเปเปเบเบฑเบเปเบฎเบเบเบฐเบเบธเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบ, เบเปเบญเบเบเบตเปเบกเบฑเบเบเบฑเบเบซเบกเบปเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบ.
เบเบฑเปเบเบเบฑเปเบ, เบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบเปเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเปเบเปเบญเบฐเบเบดเบเบฒเบเปเบเบเบซเบเปเปเปเบเบเบปเบเบเบงเบฒเบก "
เบกเบฑเบเบญเบฒเบเบเบฐเปเบเบฑเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบเบตเปเบเบฐเบชเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบญเบเปเบซเบเบเบฒเบเบเบตเปเบเปเบฒเบเบกเบฒ.
เบเบฐเบซเบงเบฑเบเบชเบฒเบเบเบฑเบเบเบถเบเบงเบฑเบเบเบตเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเปเบเปเบเบญเบ - 2018-09-10 18:02:48.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เปเบเปเบฅเบทเปเบญเบเบเบฑเบเบกเบตเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบกเบฑเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบซเบกเบปเบ:
เบฎเปเบญเบเบเปเบเบฑเบเบซเบฒSELECT
p.โPARAMETER_IDโ เปเบเบฑเบ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w. "LRM" AS LRM,
w. "เบซเบผเบฒเบ" เปเบเบฑเบ lotid,
w.โRTD_VALUEโ AS 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 เปเบเปเบเปเบฒเบเบงเบฑเบเบเบต,
เบชเบฐเบเบฑเบ(เบเบตเบเบฒเบ "SPENT_DATE") AS เบเบต,
เบชเบฐเบเบฑเบ(เปเบเบทเบญเบเบเบฒเบ "SPENT_DATE") เปเบเบฑเบเปเบเบทเบญเบ,
s."REPORT_NAME" AS report_name,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
เบเบฒเบ wdata w,
เปเบเปโเปเบงโเบฅเบฒ s,
pmtr p,
spend_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"
เปเบฅเบฐ s.โSPENT_DATEโ >= '2018-07-01' เปเบฅเบฐ s.โSPENT_DATEโ <= '2018-09-30'
เปเบฅเบฐ s.โSPENT_DATEโ = (SELECT MAX(s2.โSPENT_DATEโ)
เบเบฒเบโเบเบฒเบโเปเบเปโเปเบงโเบฅเบฒ s2โ,
wdata w2
WHERE s2.โSPENT_IDโ = w2.โSPENT_IDโ
AND w2.โLRMโ = w.โLRMโ);
เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบเบฑเบเบซเบฒเปเบกเปเบเบกเบฒเบเบเบฐเบเบฒเบเบเบตเปเบเบฒเบเปเบเบปเบฒเปเบเป - โเบเบธเบเบขเปเบฒเบเบเปเปเบเบต. เบเบญเบเบเปเบญเบเบงเปเบฒเบเบฑเบเบซเบฒเปเบกเปเบเบซเบเบฑเบ.โ
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบทเปโเปเบเปโเบเบฑเบโเบเบตโเปเบฅเบทเปเบญเบโเบซเบเปเปโเบเบฒเบโเปเบงโเบฅเบฒโเบเบญเบ 3 เปเบฅเบฐโเปเบเบดเปเบโเบเบดเปเบงโเบเบฑเบโเบฅเบปเบโเปเบเปโ:
lamer เบกเบฒเบซเบฒเปเบฎเบเปเบเบต.
- เบเปเปเบกเบตเบซเบเบฑเบเปเบฎเบฑเบเบงเบฝเบเบชเปเบฒเบฅเบฑเบเบเปเบญเบ, เบเบญเบเบเปเบญเบเบงเปเบฒเบเบฑเบเบซเบฒเบขเบนเปเปเบช.
- เปเบ DNA...
เปเบเปเปเบเปเบเบญเบ, เบเบตเปเบเปเปเปเบกเปเบเบงเบดเบเบตเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบ. โเบเบงเบเปเบเบปเบฒเบญเบฒเบเบเบฐเบเปเปเปเบเบปเปเบฒเปเบเบเบงเบเปเบฎเบปเบฒ" (เบเบฑเบ). เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบกเบฑเบเบญเบญเบ.
เบเบต, เปเบซเปเบเบญเบเบเบธเบ. เบเบฒเบเบเบตเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบฐเบชเบฐเบชเบปเบกเปเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบ.
เบเบฒเบเบชเบทเบเบชเบงเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบ
เบเบฑเปเบเบเบฑเปเบ, เบชเบดเปเบเบเบตเปเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเปเบเบเบฑเบเบเบตเบเปเบงเบเบเบฒเปเบเบปเปเบฒ, เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบกเปเบเบฐเบเบฑเปเบ resorting เบเบฑเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบ.
1) เปเบเบปเปเบฒเบฎเปเบงเบกเบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเป. เบเบตเปเปเบกเปเบเบเปเปเบเบต, เปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเปเบฒเบเบงเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบ.
2) เปเบเปเบชเบดเปเบเบเบตเปเบฎเปเบฒเบเปเบฎเบเบเบงเปเบฒเปเบเบปเปเบฒเปเบกเปเบเบเบฒเบเบชเบญเบเบเบฒเบกเบเปเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ, เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเปเบงเบเบเบฒเบเบฅเบงเบเบฅเบงเบก. เบเบตเปเปเบกเปเบเบเปเปเบเบตเบซเบผเบฒเบ.
เบเบตเปเปเบกเปเบเบเปเปเบเบตเปเบเปเบเบญเบ. เปเบเปเบเบตเปเปเบกเปเบเบขเบนเปเปเบเบกเบทเบซเบเบถเปเบเปเบเบปเปเบฒเบเบฑเปเบ. เปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เบเบตเปเปเบกเปเบเบเบตเบซเบผเบฒเบ, เปเบเบฒเบฐเบงเปเบฒเบเบฑเบเบซเบฒเบเบตเปเบเบฑเบเปเบเบเบกเบตเบเบฒเบเปเบเปเปเบเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบชเบฒเบกเบฒเบเบเบฑเบเบเบธเบเปเบเป.
เบขเปเบฒเปเบเบซเบฒเปเปเบเบน (เบ).
เปเบเบโเบเบฒเบโเบชเบญเบโเบเบฒเบกโเบเปเปโเปเบกเปเบโเบชเบฑเบโเบชเบปเบโ, เปเบเปโเบงเปเบฒโเบกเบฑเบโเปเบเบฑเบโเบเบปเบงโเบเบตเปโเบงเบฑเบโเบเบตเปโเบเปเบญเบโเบเปเบฒเบโ:
เปเบเบโเบเบฒเบโเบเบฐโเบเบดโเบเบฑเบโ
เบซเบเปเบฒเบชเบปเบเปเบเปเบฅเบฐเปเบเบฑเบเบเบฐเปเบซเบเบเบเบตเปเบชเบธเบ, เบเบฒเบกเบเบปเบเบเบฐเบเบด, เปเบกเปเบเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบชเบดเปเบเบชเบธเบ.
Nested Loop (cost=935.84..479763226.18 rows=3322 width=135) (เปเบงเบฅเบฒเบเบดเบ=31.536..8220420.295 rows=8111656 loops=1)
เปเบงเบฅเบฒเบงเบฒเบเปเบเบ: 3.807 ms
เปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบ: 8222351.640 ms
เปเบงเบฅเบฒเบชเปเบฒเปเบฅเบฑเบเปเบกเปเบเบซเบผเบฒเบเบเปเบงเบฒ 2 เบเบปเปเบงเปเบกเบ.
เบชเบปเบกเบกเบธเบเบเบดเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเบเบตเปเปเบเปเปเบเปเปเบงเบฅเบฒ
เบชเบปเบกเบกเบธเบเบเบดเบเบฒเบ 1 - เบเบนเปเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบฎเบฑเบเบเบดเบเบเบฒเบเปเบฅเบฐเบชเปเบฒเบเปเบเบเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบ.
เปเบเบทเปเบญเปเบเบดเปเบเบเบฒเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเปเปเบงเบฑเบเปเบเบเป
เบชเบปเบกเบกเบธเบเบเบดเบเบฒเบ 2-เบเบปเบเบเบฐเบเบปเบเบเปเปเบเบทเปเบเบเบฒเบเบเบฒเบเบเปเบฒเบ autovacuum, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบฒเบเบฑเบเปเบเบ.
เปเบเป daemons autovacuum เบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบต, เบเปเปเบกเบตเบเบฐเบเบงเบเบเบฒเบเบเบตเปเบซเปเบญเบเบเบฒเบง. เบเปเปเบกเบตเบเบฒเบเปเบซเบผเบเบเบตเปเบฎเปเบฒเบเปเบฎเบ. เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบญเบเบซเบฒเบชเบดเปเบเบญเบทเปเบ.
เบชเบปเบกเบกเบธเบเบเบดเบเบฒเบ 3 - เบชเบฐเบเบดเบเบดเปเบกเปเบเบฅเปเบฒเบชเบฐเปเบซเบก, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเปเบฅเปเบเบทเบเปเบซเบกเป
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเปเปเบงเปเบฒ. เบชเบฐเบเบดเบเบดเปเบกเปเบเบเบฑเบเบชเบฐเปเบซเบก. เปเบเบดเปเบ, เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฒเบเบเบฑเบเบซเบฒเบเบฑเบ autovacuum, เปเบกเปเบเบเปเปเปเบเบเปเบ.
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ
เบเบฒเบเบฐเบฅเบฒเบเบเบปเปเบเบเป 'wdata' เปเบเปเบเบญเบเบงเปเบฒเบเปเปเปเบกเปเบเบเบฐเบซเบเบฒเบเบเปเบญเบ, เปเบเบทเบญเบ 3 เบฅเปเบฒเบเบเบฑเบเบเบถเบ.
เปเบฅเบฐเบกเบฑเบเปเบกเปเบเบเบฒเบเบฐเบฅเบฒเบเบเบตเปเบเบตเป Full Scan เบเบฐเบเบดเบเบฑเบเบเบฒเบก.
Hash Cond: ((w.SPENT_ID" = s.SPENT_ID") AND ((SubPlan 1) = s.SPENT_DATE"))
-> เบชเบฐเปเบเบ เปเบ wdata w (cost=0.00..574151.49 rows=26886249 width=46) (เปเบงเบฅเบฒเบเบดเบ=0.005..8153.565 rows=26873950 loops=1)
เบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเบเบฒเบกเบกเบฒเบเบเบฐเบเบฒเบ: "เบกเบฒ, เปเบซเปเบเบฑเบเบชเบฐเบเบตเปเบฅเบฐเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเบเบดเบ."
เบชเปเบฒเบเบเบฑเบเบเบฐเบเบตเปเบเบเปเบญเบ โSPENT_IDโ
เบเบฑเปเบเบเบฑเปเบ:
เปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบชเบญเบเบเบฒเบกเปเบเบเปเบเปเบเบฑเบเบชเบฐเบเบต
เบเบต, เบกเบฑเบเบเปเบงเบเปเบเปเบเป?
เปเบกเปเบ: 8 222 351.640 เบกเบช (เบเปเปโเปเบเบตเบ 2 เบเบปเปเบงโเปเบกเบโ)
เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบ: 6 985 431.575 ms (เปเบเบทเบญเบ 2 เบเบปเปเบงเปเบกเบ)
เปเบเบเบเบปเปเบงเปเบ, เบซเบกเบฒเบเปเบเบกเบเบฝเบงเบเบฑเบ, เบกเบธเบกเปเบเบดเปเบเบเปเบฒเบ.
เบเปเปเบซเปเบเบทเปเบเปเบฒเบเบฅเบฒเบชเบชเบดเบ:
โเปเบเบปเปเบฒเบกเบตเบญเบฑเบเบเบฝเบงเบเบฑเบ, เปเบเปเบเปเปเบกเบตเบเบตเบเบเป? เบเบฐเบเบญเบเบซเบฒ".
เปเบเบซเบผเบฑเบเบเบฒเบ, เบเบตเปเบชเบฒเบกเบฒเบเปเบญเบตเปเบเบงเปเบฒเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบต, เบเบต, เบเปเปเบเบต, เปเบเปเบเบญเบกเบฎเบฑเบเปเบเป. เบขเปเบฒเบเบซเบเปเบญเบ, เปเบซเปเบเบปเบเบฅเบฒเบเบเบฒเบเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบซเปเบเบฑเบเบฅเบนเบเบเปเบฒเบเบตเปเบญเบฐเบเบดเบเบฒเบเบงเปเบฒเปเบเปเปเบฎเบฑเบเบซเบผเบฒเบเบเบฒเบเปเบเปเบฅเบฐเปเบเบฑเบเบซเบเบฑเบเบชเบดเปเบเบเบตเปเปเบฎเบฑเบเปเบเปเบเบต.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบฒเบเบเบฑเบเบชเบดเบเปเบเบชเบธเบเบเปเบฒเบเปเบกเปเบเบเบฑเบเปเบ. เปเบเบซเบผเบฒเบ.
เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบชเบดเปเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบเบตเปเบชเบธเบ - เบเบงเบเปเบฎเบปเบฒเบชเบทเบเบเปเปเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบเปเบฒเบฎเปเบญเบเบเป
เบเบฑเปเบเบเบญเบเบเบตเบซเบเบถเปเบ - เปเบเปเปเบเบปเปเบฒเบฎเปเบงเบก
เบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเบฝเบเบเบทเบเปเบซเบกเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป (เบเบต เบขเปเบฒเบ เบซเบเปเบญเบ เบเบฒเบก เบซเบผเบฒเบ):
เบชเบญเบเบเบฒเบกเปเบเบเปเบเป JOINSELECT
p.โPARAMETER_IDโ เปเบเบฑเบ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w. "LRM" AS LRM,
w. "เบซเบผเบฒเบ" เปเบเบฑเบ lotid,
w.โRTD_VALUEโ AS 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 เปเบเปเบเปเบฒเบเบงเบฑเบเบเบต,
เบชเบฐเบเบฑเบ(เบเบตเบเบฒเบ "SPENT_DATE") AS เบเบต,
เบชเบฐเบเบฑเบ(เปเบเบทเบญเบเบเบฒเบ "SPENT_DATE") เปเบเบฑเบเปเบเบทเบญเบ,
s."REPORT_NAME" AS report_name,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
เบเบฒเบ wdata w INner JOIN เปเบเปเปเบงเบฅเบฒ s เบขเบนเปเปเบ w.โSPENT_IDโ=s.โโSPENT_IDโ
INNER JOIN pmtr p ON p.โPARAMETER_IDโ = w.โPARAMETER_IDโ
INNER JOIN เปเบเปเปเบงเบฅเบฒ_pd sp ON s.โSPENT_IDโ = sp.โSPENT_IDโ
INner JOIN pd pd ON pd.โPD_IDโ = sp.โPD_IDโ
เบเปเบญเบเบเบตเป
s.โSPENT_DATEโ >= '2018-07-01' เปเบฅเบฐ s.โSPENT_DATEโ <= '2018-09-30'AND
s.โSPENT_DATEโ = (SELECT MAX(s2.โSPENT_DATEโ)
เบเบฒเบ wdata w2 INner JOIN เปเบเป s2 ON w2.โSPENT_IDโ=s2.โSPENT_IDโ
เบเบฒเบเปเบเปเบเบปเปเบฒเบฎเปเบงเบก wdata w
ON w2.โLRMโ = w.โLRMโ );
เปเบงเบฅเบฒเบงเบฒเบเปเบเบ: 2.486 ms
เปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบ: 1223680.326 ms
เบเบฑเปเบเบเบฑเปเบ, เบเบปเบเปเบเปเบฎเบฑเบเบเปเบฒเบญเบดเบ.
เปเบกเปเบ: 6 ms (เปเบเบทเบญเบ 985 เบเบปเปเบงเปเบกเบ).
เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบ: 1 223 680.326 ms (เบเบฝเบเปเบเปเบซเบผเบฒเบเบเบงเปเบฒ 20 เบเบฒเบเบต).
เบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบต. เปเบเบซเบผเบฑเบเบเบฒเบ, เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบขเบธเบเบขเบนเปเบเบตเปเบเบฑเปเบ. เปเบเปเบกเบฑเบเบเปเปเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบ, เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบขเบธเบเปเบเป.
เบชเปเบฒเบฅเบฑเบ
เบเบฑเปเบเบเบญเบเบเบตเบชเบญเบ - เบเปเบฒเบเบฑเบ subquery เบเบตเปเบเปเบฝเบงเบเปเบญเบ
เบเปเบฝเบเบเปเปเบเบงเบฒเบกเบเบณเบฎเปเบญเบเบเป:
เปเบเบเบเปเปเบกเบตเบเบฒเบเบชเบญเบเบเบฒเบกเบเปเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบSELECT
p.โPARAMETER_IDโ เปเบเบฑเบ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w. "LRM" AS LRM,
w. "เบซเบผเบฒเบ" เปเบเบฑเบ lotid,
w.โRTD_VALUEโ AS 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 เปเบเปเบเปเบฒเบเบงเบฑเบเบเบต,
เบชเบฐเบเบฑเบ(เบเบตเบเบฒเบ "SPENT_DATE") AS เบเบต,
เบชเบฐเบเบฑเบ(เปเบเบทเบญเบเบเบฒเบ "SPENT_DATE") เปเบเบฑเบเปเบเบทเบญเบ,
s."REPORT_NAME" AS report_name,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
เบเบฒเบ wdata w Inner JOIN เปเบเปเปเบงเบฅเบฒ s.โSPENT_IDโ = w.โSPENT_IDโ
INNER JOIN pmtr p ON p.โPARAMETER_IDโ = w.โPARAMETER_IDโ
INNER JOIN เปเบเปเปเบงเบฅเบฒ_pd sp ON s.โSPENT_IDโ = sp.โSPENT_IDโ
INner JOIN pd pd ON pd.โPD_IDโ = sp.โPD_IDโ
เปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเปเบ (เปเบฅเบทเบญเบ w2.โLRMโ, MAX(s2.โSPENT_DATEโ)
เบเบฒเบเบเบฒเบเปเบเป s2 เบเบฒเบเปเบเปเบเบปเปเบฒเบฎเปเบงเบก wdata w2 ON s2.โSPENT_IDโ = w2.โSPENT_IDโ
เบเบฑเบเบเบธเปเบกเปเบเบ w2.โLRMโ
) md เบชเบธเบ w.โLRMโ = md.โLRMโ
เบเปเบญเบเบเบตเป
s."SPENT_DATE" >= '2018-07-01' AND s."SPENT_DATE" <= '2018-09-30';
เปเบงเบฅเบฒเบงเบฒเบเปเบเบ: 2.291 ms
เปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบ: 165021.870 ms
เปเบกเปเบ: 1 223 680.326 ms (เบเบฝเบเปเบเปเบซเบผเบฒเบเบเบงเปเบฒ 20 เบเบฒเบเบต).
เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบ: 165 021.870 ms (เบเบฝเบเปเบเป 2 เบเบฒเบเบต).
เบเบตเปเปเบกเปเบเบเบตเปเบฅเปเบง.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบฑเปเบเบเบตเปเบญเบฑเบเบเบดเบเปเบงเบปเปเบฒเบงเปเบฒ "เปเบเป, เบกเบตเบชเบฐเปเบซเบกเบตเปเบเป" เบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบตเปเบเบตเบเปเบเบเบงเบเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบชเบปเบเปเบชเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เบกเบตเบเบฒเบเบขเปเบฒเบเบเบดเบเบเบฒเบเบขเบนเปเบเปเบญเบเบเบตเป.
เบชเบปเบกเบกเบธเบเบเบดเบเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบฒเบเบชเบญเบเบเบฒเบกเปเบเบทเปเบญเบเปเบฒเบเบฑเบเบเบฒเบเบชเบญเบเบเบฒเบกเบเปเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบกเปเบเบเบทเบเบเปเบญเบ. เปเบเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบกเบฑเบเปเบฅเบฑเบเบเปเบญเบเปเบเบทเปเบญเปเบซเปเบเบปเบเปเบเปเบฎเบฑเบเบชเบธเบเบเปเบฒเบเบเบทเบเบเปเบญเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเบปเบเปเบเปเบฎเบฑเบเบเบฑเปเบเบเบฒเบเบเปเบฒเบญเบดเบ:
เปเบเปเปเบเบเปเบฒเบเบฒเบกเปเบเบเบเปเปเบกเบตเบเบฒเบเบชเบญเบเบเบฒเบกเบเปเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบSELECT
p.โPARAMETER_IDโ เปเบเบฑเบ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w. "LRM" AS LRM,
w. "เบซเบผเบฒเบ" เปเบเบฑเบ lotid,
w.โRTD_VALUEโ AS 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โ) เปเบเบฑเบเบเบต,
เบชเบฐเบเบฑเบ(เปเบเบทเบญเบเบเบฒเบ s.โSPENT_DATEโ) เปเบเบฑเบเปเบเบทเบญเบ,
s."REPORT_NAME" AS report_name,
p."STPM_NAME" AS stpm_name,
p.โCUSTOMERPARAM_NAMEโ AS customerparam_name
เบเบฒเบ wdata w Inner JOIN เปเบเปเปเบงเบฅเบฒ s.โSPENT_IDโ = w.โSPENT_IDโ
INNER JOIN pmtr p ON p.โPARAMETER_IDโ = w.โPARAMETER_IDโ
INNER JOIN เปเบเปเปเบงเบฅเบฒ_pd sp ON s.โSPENT_IDโ = sp.โSPENT_IDโ
INner JOIN pd pd ON pd.โPD_IDโ = sp.โPD_IDโ
เปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเปเบ (เปเบฅเบทเบญเบ w2.โLRMโ, MAX(s2.โSPENT_DATEโ) เปเบเบฑเบ โSPENT_DATEโ
เบเบฒเบเบเบฒเบเปเบเป s2 เบเบฒเบเปเบเปเบเบปเปเบฒเบฎเปเบงเบก wdata w2 ON s2.โSPENT_IDโ = w2.โSPENT_IDโ
เบเบฑเบเบเบธเปเบกเปเบเบ w2.โLRMโ
) md ON md.โSPENT_DATEโ = s.โSPENT_DATEโ เปเบฅเบฐ md.โLRMโ = w.โLRMโ
เบเปเบญเบเบเบตเป
s."SPENT_DATE" >= '2018-07-01' AND s."SPENT_DATE" <= '2018-09-30';
เปเบงเบฅเบฒเบงเบฒเบเปเบเบ: 3.192 ms
เปเบงเบฅเบฒเบเบฐเบเบดเบเบฑเบ: 208014.134 ms
เบเบฑเปเบเบเบฑเปเบ, เบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบดเปเบเบชเบธเบเปเบกเปเบเบเบปเบเปเบเปเบฎเบฑเบเบเปเบฒเบญเบดเบเบเบตเปเบเบญเบกเบฎเบฑเบ, เปเบเบดเปเบเบเปเปเปเบกเปเบเบเบงเบฒเบกเบญเบฑเบเบญเบฒเบเบเบตเปเบเบฐเบชเบฐเปเบเบเปเบซเปเบฅเบนเบเบเปเบฒ:
เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ: 8 222 351.640 ms (เบซเบผเบฒเบเบเบงเปเบฒ 2 เบเบปเปเบงเปเบกเบ)
เบเบงเบเปเบฎเบปเบฒเบเบธเปเบกเบเบญเบเปเบเบทเปเบญเบเบฑเบเบฅเบธ: 1 ms (เบซเบเปเบญเบเบเบงเปเบฒ 223 เบเบฒเบเบต).
เบเบปเบเปเบเปเบฎเบฑเบ (เบเบปเปเบงเบเบฒเบง): 208 014.134 ms (เบเบฝเบเปเบเปเบซเบผเบฒเบเบเบงเปเบฒ 3 เบเบฒเบเบต).
เบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบตเปเบฅเบตเบ.
เบเบปเบเปเบเปเบฎเบฑเบ
เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบขเบธเบเบขเบนเปเบเบตเปเบเบฑเปเบ.
เปเบเป...
เบเบงเบฒเบกเบขเบฒเบเบญเบฒเบซเบฒเบเบกเบฒเบเปเบญเบกเบเบฑเบเบเบฒเบเบเบดเบเบญเบฒเบซเบฒเบ. เบเบนเปโเบเบตเปโเบเปเบฒเบโเบเบฐโเปเบเบฑเบโเบเบฒเบโเบเบฒเบ. เบเบปเบเปเบเปเบฎเบฑเบเปเบเปเปเบกเปเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ. เบขเบธเบเปเบเบปเบฒเปเบฅเบฐเปเบชเบเบเบตเบงเบดเบ. เปเบเบฑเบเบเบปเปเบ.
เบชเบทเบเบเปเปเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบ.
เบเบงเบฒเบกเบเบดเบเบเบตเปเบเบดเปเบเปเบซเบเป. เปเบเบเบชเบฐเปเบเบฒเบฐเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบงเปเบฒเบฅเบนเบเบเปเบฒเบเปเปเบชเบปเบเปเบ. เปเบฅเบฐเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบตเปเปเบเบฑเปเบกเปเบเบเบชเปเบฒเบฅเบฑเบเบกเบฑเบ.
เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเปเบกเปเบเปเบงเบฅเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบญเบเปเบเบเบเบฒเบเบเปเปเบกเบนเบเปเบซเบกเป. เปเบเบเบชเปเบฒเบเปเบเบเบชเบญเบเบเบฒเบกเบเบปเบงเบกเบฑเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเบเบฑเบเบเบธเบเปเบเปเบญเบตเบเบเปเปเปเบ (เปเบเบดเบเปเบกเปเบเบงเปเบฒ, เบเปเบญเบเบงเปเบฒเบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบเบเปเปเบกเบฒ, เบกเบตเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบฐเบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเบฅเบปเปเบกเปเบซเบฅเบง). เปเบเปเปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบฒเบเบญเบญเบเปเบเบเบเบฒเบเบเปเปเบกเบนเบเปเบกเปเบเปเบฅเปเบงเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบเบตเบซเบผเบฒเบ. เปเบฅเบฐเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบ. เบญเบตเบเปเบเบทเปเบญเปเบถเปเบ, เบเบปเปเบเบเบทเปเบเบณเบเบงเบฒเบกเปเบธเปเบกเบเบญเบเปเบเบปเปเบฒ. เบเปเบญเบเบเปเปเปเบเปเปเบเบฑเบ DBA เบเบฑเบเบเบต, เบเปเบญเบเปเบเบตเบเปเบซเบเปเปเบเบฑเบเบเบฑเบเบเบฝเบเปเบเบฅเปเบเบฅเบก (BASIC, assembler, C, double-plus C, Oracle, plsql). เบซเบปเบงเบเปเปเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบ, เปเบเปเบเบญเบ, เบชเปเบฒเบฅเบฑเบ memoir เปเบเบเบเปเบฒเบเบซเบฒเบ ;-).
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบฅเบปเบเบเบงเบ.
เบเบฑเปเบโเบเบฑเปเบ
เบซเบผเบทเบเบฒเบเบเบตเบเบฒเบเปเบเปเบเบชเปเบงเบเบเบฐเบเปเบงเบเบเบงเบเปเบฎเบปเบฒเบเป?
Spoiler - "เปเบกเปเบเปเบฅเปเบง, เบกเบฑเบเบเปเบงเบ, เบฅเบงเบกเบเบฑเบเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ."
เปเบเปโเบเบฑเปเบโเปเบเบฑเบโเปเบฅเบทเปเบญเบโเบเบตเปโเปเบเบโเบเปเบฒเบโเบเบฑเบโเบซเบกเบปเบ ...
เบเบดเบโเบเบฒเบกโเบเบญเบโเบเปเปโเปเบโฆ
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com