αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αžαŸ’αžšαžΌαžœαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αžŸαŸ†αžŽαž½αžš PostgreSQL αž“αž·αž„αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž…αŸαž‰αž–αžΈαžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”
αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœ? αž˜αŸ‚αž“αž αžΎαž™ αž–αŸ’αžšαŸ„αŸ‡αž€αžΆαž›αž–αžΈ ៀ αž†αŸ’αž“αžΆαŸ†αž˜αž»αž“ αž’αŸ’αžœαžΈαŸ—αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αŸ‰αžΆαž„αžŸαŸ’αž„αž”αŸ‹αžŸαŸ’αž„αžΆαžαŸ‹ αžŸαŸ’αž„αž”αŸ‹αžŸαŸ’αž„αžΆαžαŸ‹ αžŠαžΌαž…αž‡αžΆαž“αžΆαž‘αž·αž€αžΆαžšαž›αžΆαž€αŸ‹αŸ”
αž‡αžΆ epigraph αž˜αž½αž™αŸ”

αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž•αŸ’αž’αŸ‚αž€αž›αžΎαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž–αž·αžαŸ”
αžˆαŸ’αž˜αŸ„αŸ‡αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž€αžΆαžšαž…αŸƒαžŠαž“αŸ’αž™αž‚αžΊαž…αŸƒαžŠαž“αŸ’αž™αŸ”

αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αž›αž‘αŸ’αž’αž•αž›αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™ αžœαžΆαžαŸ‚αž„αžαŸ‚αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αž„αž…αžΆαŸ†αž“αžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‡αžΆαž€αž˜αŸ’αž›αžΆαŸ†αž„αžšαž»αž‰αž…αŸ’αžšαžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αžŠαŸ‚αž›αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αž‡αžΆβ€‹αž›αž‘αŸ’αž’αž•αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž–αž·αž–αžŽαŸŒαž“αžΆβ€‹αž™αŸ‰αžΆαž„β€‹αžαŸ’αž›αžΈβ€‹αž“αŸ…β€‹αž€αŸ’αž“αž»αž„β€‹αž’αžαŸ’αžαž”αž‘ "αž€αžΆαžšαžŸαŸ†αž™αŸ„αž‚αž‡αžΆαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž˜αž½αž™αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž PostgreSQL"αŸ”

αžœαžΆαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžαŸ’αžŸαŸ‚αžŸαž„αŸ’αžœαžΆαž€αŸ‹αž“αŸƒαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαž˜αž»αž“αŸ—αž‘αžΎαž„αžœαž·αž‰αŸ”
αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž–αž·αžαž”αŸ’αžšαžΆαž€αžŠ - 2018-09-10 18:02:48 αŸ”
αž•αž„αžŠαŸ‚αžšαž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΏαž„αž˜αžΆαž“αž€αžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜:
αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž αžΆαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ
p.β€œPARAMETER_ID” αž‡αžΆ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w.LRM" AS LRM,
w. "LOTID" αžŠαžΌαž…αž‡αžΆ 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 αž‘αŸ†,
αž…αŸ†αžŽαžΆαž™_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”
αž“αž·αž„ w2.β€œLRM” = w.β€œLRM”);


αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž‚αžΊαž‡αžΆαžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž–αŸ’αž™αžΆαž€αžšαžŽαŸ - "αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ” αž”αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ’αž‰αž»αŸ†β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αž”αž‰αŸ’αž αžΆβ€‹αž’αŸ’αžœαžΈΒ»αŸ”
αžαŸ’αž‰αž»αŸ†β€‹αž“αžΉαž€β€‹αžƒαžΎαž‰β€‹αžšαžΏαž„β€‹αžαŸ’αž›αžΈβ€‹αž˜αž½αž™β€‹αž—αŸ’αž›αžΆαž˜β€‹αŸ—β€‹αž–αžΈβ€‹αžŠαž„β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž”αžΎαž€αž”αžšβ€‹αŸ£β€‹αž’αŸŠαžΈαž‰β€‹αž€αž“αŸ’αž›αŸ‡αŸ–

αž‡αž“αžαž·αž›αžαžΌαž…αž˜αž€αžšαž€αž’αŸ’αž“αž€αž›αž½αž…αž…αžΌαž›αŸ”
- αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž‘αŸ αž”αŸ’αžšαžΆαž”αŸ‹αžαŸ’αž‰αž»αŸ†αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž”αž‰αŸ’αž αžΆαŸ”
- αž“αŸ…αž€αŸ’αž“αž»αž„ DNA...

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž‡αžΆαž€αžΆαžšαž–αž·αž αž“αŸαŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆαžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž§αž”αŸ’αž”αžαŸ’αžαž·αž αŸαžαž»αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž“αŸ„αŸ‡αž‘αŸαŸ” β€œαž–αž½αž€αž‚αŸαž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž™αž›αŸ‹αž–αžΈαž™αžΎαž„αž‘αŸαŸ”" (αž‡αžΆαž˜αž½αž™) αŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžœαžΆαŸ”
αž…αžΌαžšαž™αžΎαž„αž‡αžΈαž€αŸ” αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž’αŸ’αžœαžΈαž˜αž½αž™αž“αžΉαž„αž€αž€αž€αž»αž‰αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αŸ”

αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜

αžŠαžΌαž…αŸ’αž“αŸαŸ‡ αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αž’αžΆαž…β€‹αž˜αžΎαž›β€‹αžƒαžΎαž‰β€‹αž—αŸ’αž›αžΆαž˜αŸ—β€‹αžŠαŸ„αž™β€‹αž—αŸ’αž“αŸ‚αž€β€‹αž‘αž‘αŸ αžŠαŸ„αž™β€‹αž˜αž·αž“β€‹αž”αžΆαž…αŸ‹β€‹αž”αŸ’αžšαžΎβ€‹αž–αžΆαž€αŸ’αž™β€‹αž–αž“αŸ’αž™αž›αŸ‹αŸ”
1) JOINs αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž‘αŸαŸ” αž“αŸαŸ‡αž‚αžΊαž’αžΆαž€αŸ’αžšαž€αŸ‹αž‡αžΆαž–αž·αžŸαŸαžŸαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αŸ†αž“αž½αž“αž“αŸƒαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αžΆαž“αž…αŸ’αžšαžΎαž“αž‡αžΆαž„αž˜αž½αž™αŸ”
2) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αžΆαž“αŸ‹αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αž“αŸ„αŸ‡αž‚αžΊ αžŸαŸ†αžŽαž½αžšαžšαž„αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž‚αŸ’αž“αžΆ αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αžαž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž•αŸ’αžαž»αŸ†αŸ” αž“αŸαŸ‡αž‚αžΊαž’αžΆαž€αŸ’αžšαž€αŸ‹αžŽαžΆαžŸαŸ‹αŸ”
αž“αŸαŸ‡αž–αž·αžαž‡αžΆαž’αžΆαž€αŸ’αžšαž€αŸ‹αžŽαžΆαžŸαŸ‹αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸαŸ‡αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž“αŸ…αž›αžΎαžŠαŸƒαž˜αŸ’αžαžΆαž„αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž“αŸαŸ‡αž‚αžΊαž›αŸ’αž’αžŽαžΆαžŸαŸ‹ αž–αŸ’αžšαŸ„αŸ‡αž”αž‰αŸ’αž αžΆαž…αŸ’αž”αžΆαžŸαŸ‹αž‡αžΆαž˜αžΆαž“αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™ αž“αž·αž„αžŸαŸ†αžŽαžΌαž˜αž–αžšαžŠαŸ‚αž›αž’αžΆαž…αž€αŸ‚αž›αž˜αŸ’αž’αž”αžΆαž“αŸ”
αž€αž»αŸ†αž‘αŸ…αž‡αž½αž”αž‚αŸ’αžšαžΌαž‘αžΆαž™ (C)αŸ”
αž•αŸ‚αž“αž€αžΆαžšβ€‹αžŸαŸ†αžŽαž½αžšβ€‹αž˜αž·αž“β€‹αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰β€‹αž“αŸ„αŸ‡β€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αžœαžΆβ€‹αž”αž„αŸ’αž αžΆαž‰β€‹αž™αŸ‰αžΆαž„β€‹αž…αŸ’αž”αžΆαžŸαŸ‹αŸ–
αž•αŸ‚αž“αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž”αŸ†αž•αž»αžαžŠαžΌαž…αž’αž˜αŸ’αž˜αžαžΆαž‚αžΊαž“αŸ…αžŠαžΎαž˜αž“αž·αž„αž…αž»αž„αž”αž‰αŸ’αž…αž”αŸ‹αŸ”
Nested Loop (αžαž˜αŸ’αž›αŸƒ=935.84..479763226.18 rows=3322 width=135) (αž–αŸαž›αžœαŸαž›αžΆαž–αž·αž=31.536..8220420.295 rows=8111656 loops=1)
αž–αŸαž›αžœαŸαž›αžΆαž’αŸ’αžœαžΎαž•αŸ‚αž“αž€αžΆαžšαŸ– 3.807 ms
αž–αŸαž›αžœαŸαž›αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ– 8222351.640 ms
αž–αŸαž›αžœαŸαž›αžΆαž”αž‰αŸ’αž…αž”αŸ‹αž‚αžΊαž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 2 αž˜αŸ‰αŸ„αž„αŸ”

αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αžŸαž˜αŸ’αž˜αžαž·αž€αž˜αŸ’αž˜αž˜αž·αž“αž–αž·αžαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž–αŸαž›

αžŸαž˜αŸ’αž˜αžαž·αž€αž˜αŸ’αž˜ 1 - αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž’αŸ’αžœαžΎαžαž»αžŸ αž αžΎαž™αž”αž„αŸ’αž€αžΎαžαž•αŸ‚αž“αž€αžΆαžšαžαž»αžŸαŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αžƒαžΎαž‰αž•αŸ‚αž“αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžšαžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš https://explain.depesz.com/. αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αŸαŸ‡αž˜αž·αž“αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αž¬αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸ„αŸ‡αž‘αŸαŸ” αž“αŸ… glance αžŠαŸ†αž”αžΌαž„ αž“αž·αž„αž‘αžΈαž–αžΈαžš αž‚αŸ’αž˜αžΆαž“αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž’αžΆαž…αž‡αž½αž™αž”αžΆαž“αž“αŸ„αŸ‡αž‘αŸαŸ” αžαžΎαžœαžΆαž’αžΆαž…αž‘αŸ…αžšαž½αž…αž‘αŸαžŠαŸ‚αž›αžαžΆ Full Scan αž˜αžΆαž“αžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αžαŸ” αž‘αŸ…β€‹αž–αŸαž›β€‹αžαžΆαž„β€‹αž˜αž»αžαŸ”

αžŸαž˜αŸ’αž˜αžαž·αž€αž˜αŸ’αž˜ 2- αž•αž›αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž–αžΈαž…αŸ†αž αŸ€αž„ autovacuum αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αž˜αŸ’αž…αžΆαžαŸ‹αž αŸ’αžœαŸ’αžšαžΆαŸ†αž„αŸ”

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸαž˜αž·αž“ autovacuum αž˜αžΆαž“αž₯αžšαž·αž™αžΆαž”αž‘αž›αŸ’αž’ αž˜αž·αž“αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αŸ’αž™αž½αžšαž™αžΌαžšαž‘αŸαŸ” αž˜αž·αž“αž˜αžΆαž“αž”αž“αŸ’αž‘αž»αž€αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαž‘αŸαŸ” αž™αžΎαž„αžαŸ’αžšαžΌαžœαžšαž€αž˜αžΎαž›αž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

αžŸαž˜αŸ’αž˜αžαž·αž€αž˜αŸ’αž˜αž‘αžΈ 3 - αžŸαŸ’αžαž·αžαž·αž αž½αžŸαžŸαž˜αŸαž™ αž’αŸ’αžœαžΈαŸ—αžαŸ’αžšαžΌαžœαž‚αžŽαž“αžΆαž‘αžΎαž„αžœαž·αž‰

αž˜αŸ’αžαž„αž‘αŸ€αž αž˜αž·αž“αž˜αŸ‚αž“αž’αž‰αŸ’αž…αžΉαž„αž‘αŸαŸ” αžŸαŸ’αžαž·αžαž·αž‚αžΊαž‘αžΆαž“αŸ‹αžŸαž˜αŸαž™αŸ” αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž€αž„αŸ’αžœαŸ‡αž“αŸƒαž”αž‰αŸ’αž αžΆαž‡αžΆαž˜αž½αž™ autovacuum αž‚αžΊαž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž—αŸ’αž‰αžΆαž€αŸ‹αž•αŸ’αž’αžΎαž›αž“αŸ„αŸ‡αž‘αŸαŸ”

αž…αžΌαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžš

αžαžΆαžšαžΆαž„αžŸαŸ†αžαžΆαž“αŸ‹ 'wdata' αž–αž·αžαž‡αžΆαž˜αž·αž“αžαžΌαž…αž‘αŸ αžŸαŸ’αž‘αžΎαžšαžαŸ‚ 3 αž›αžΆαž“αž€αŸ†αžŽαžαŸ‹αžαŸ’αžšαžΆαŸ”
αž αžΎαž™αžœαžΆαž‚αžΊαž‡αžΆαžαžΆαžšαžΆαž„αž“αŸαŸ‡αžŠαŸ‚αž› Full Scan αž’αŸ’αžœαžΎαžαžΆαž˜αŸ”

Hash CondαŸ– ((w.SPENT_ID" = s."SPENT_ID") AND ((SubPlan 1) = s."SPENT_DATE"))
-> αžŸαŸ’αž€αŸαž“ Seq αž“αŸ…αž›αžΎ 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 ms (αž…αŸ’αžšαžΎαž“αž‡αžΆαž„ 2 αž˜αŸ‰αŸ„αž„αž”αž“αŸ’αžαž·αž…)
αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαŸ– 6 985 431.575 ms (αž‡αž·αž 2 αž˜αŸ‰αŸ„αž„)
αž‡αžΆαž‘αžΌαž‘αŸ…αž•αŸ’αž›αŸ‚αž”αŸ‰αŸ„αž˜αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž…αŸ†αž αŸ€αž„αŸ”
αžαŸ„αŸ‡αž…αž„αž…αžΆαŸ†αžšαžΏαž„αž”αž»αžšαžΆαžŽαŸ–
β€œαžαžΎβ€‹αž’αŸ’αž“αž€β€‹αž˜αžΆαž“β€‹αžŠαžΌαž…β€‹αž‚αŸ’αž“αžΆ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž‚αŸ’αž˜αžΆαž“β€‹αžŸαŸ’αž›αžΆαž”? αž“αžΉαž„αžŸαŸ’αžœαŸ‚αž„αžšαž€"αŸ”

αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαž αŸ…αžαžΆαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž›αŸ’αž’ αž›αŸ’αž’ αž˜αž·αž“αž›αŸ’αž’ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αžΆαž…αž‘αž‘αž½αž›αž™αž€αž”αžΆαž“αŸ” αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹ αž•αŸ’αžαž›αŸ‹αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž’αŸ†αž˜αž½αž™αžŠαž›αŸ‹αž’αžαž·αžαž·αž‡αž“ αžŠαŸ‚αž›αž–αž·αž–αžŽαŸŒαž“αžΆαž’αŸ†αž–αžΈαž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎ αž αžΎαž™αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž‚αžΊαž›αŸ’αž’αŸ”
αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αžαŸ‚αž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸ…αžαŸ‚αž†αŸ’αž„αžΆαž™αŸ” αž†αŸ’αž„αžΆαž™αžŽαžΆαžŸαŸ‹αŸ”

αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ†αž•αž»αž - αž™αžΎαž„αž”αž“αŸ’αžαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž™αžΎαž„αž“αžΉαž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαŸ†αžŽαžΎ

αž‡αŸ†αž αžΆαž“αž‘αžΈαž˜αž½αž™ - αž”αŸ’αžšαžΎ JOIN

αžŸαŸ†αžŽαžΎαžŠαŸ‚αž›αžŸαžšαžŸαŸαžšαž‘αžΎαž„αžœαž·αž‰αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡ (αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αž€αŸαžŸαŸ’αž’αžΆαžαž‡αžΆαž„):
αžŸαŸ†αžŽαž½αžšαžŠαŸ„αž™αž”αŸ’αžšαžΎ JOINαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ
p.β€œPARAMETER_ID” αž‡αžΆ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w.LRM" AS LRM,
w. "LOTID" αžŠαžΌαž…αž‡αžΆ 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 αž”αžΆαž“αž…αŸ†αžŽαžΆαž™αž›αžΎ 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
αž”αžΎαž€ w2.β€œLRM” = w.β€œLRM” );
αž–αŸαž›αžœαŸαž›αžΆαž’αŸ’αžœαžΎαž•αŸ‚αž“αž€αžΆαžšαŸ– 2.486 ms
αž–αŸαž›αžœαŸαž›αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ– 1223680.326 ms

αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž›αž‘αŸ’αž’αž•αž›αžŠαŸ†αž”αžΌαž„αŸ”
αž‚αžΊαŸ– 6 ms (αž‡αž·αž 985 αž˜αŸ‰αŸ„αž„) αŸ”
αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαŸ– 1 223 680.326 ms (αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž„ 20 αž“αžΆαž‘αžΈ) αŸ”
αž›αž‘αŸ’αž’αž•αž›αž›αŸ’αž’αŸ” αž‡αžΆαž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αž αž™αžΎαž„αž’αžΆαž…αžˆαž”αŸ‹αž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŽαžΆαžŸαŸ‹ αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αž”αž‰αŸ’αžˆαž”αŸ‹αž”αžΆαž“αž‘αŸαŸ”
αžŸαž˜αŸ’αžšαžΆαž”αŸ‹

αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž‡αŸ†αž αžΆαž“αž‘αžΈαž–αžΈαžš - αž€αž˜αŸ’αž…αžΆαžαŸ‹αžŸαŸ†αžŽαž½αžšαžšαž„αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„

αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αžαŸ’αžαž”αž‘αžŸαŸ†αžŽαžΎαŸ–
αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαžšαž„αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ
p.β€œPARAMETER_ID” αž‡αžΆ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w.LRM" AS LRM,
w. "LOTID" αžŠαžΌαž…αž‡αžΆ 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 αž“αžΆαž‘αžΈ) αŸ”
αž“αŸαŸ‡αž‚αžΊαž›αŸ’αž’αžŽαžΆαžŸαŸ‹αžšαž½αž…αž‘αŸ…αž αžΎαž™αŸ”
αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžŠαžΌαž…αž‡αž“αž‡αžΆαžαž·αž’αž„αŸ‹αž‚αŸ’αž›αŸαžŸαž“αž·αž™αžΆαž™αž”αŸ‰αž»αž“αŸ’αžαŸ‚ αžœαžΆαžαŸ‚αž„αžαŸ‚αž˜αžΆαž“" αž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž›αŸ’αž’αž–αŸαž€ αž‚αž½αžšαžαŸ‚αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαžŸαž„αŸ’αžŸαŸαž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž˜αžΆαž“αž’αŸ’αžœαžΈαž˜αž½αž™αžαž»αžŸαž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ”

αžŸαž˜αŸ’αž˜αžαž·αž€αž˜αŸ’αž˜αž’αŸ†αž–αžΈαž€αžΆαžšαž€αŸ‚αžŸαŸ†αžŽαž½αžšαžŠαžΎαž˜αŸ’αž”αžΈαž€αž˜αŸ’αž…αžΆαžαŸ‹αžŸαŸ†αžŽαž½αžšαžšαž„αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž‚αžΊαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αŸ‚αž”αŸ’αžšαŸ‚αžœαžΆαž”αž“αŸ’αžαž·αž…αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž›αž‘αŸ’αž’αž•αž›αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”
αž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž›αž‘αŸ’αž’αž•αž›αž˜αž’αŸ’αž™αž˜αžŠαŸ†αž”αžΌαž„αŸ–
αžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαžšαž„αžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸ
p.β€œPARAMETER_ID” αž‡αžΆ parameter_id,
pd."PD_NAME" AS pd_name,
pd."CUSTOMER_PARTNUMBER" AS customer_partnumber,
w.LRM" AS LRM,
w. "LOTID" αžŠαžΌαž…αž‡αžΆ 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”
αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αžαžΆαž„αž€αŸ’αž“αž»αž„ ( SELECT 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)αŸ” αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αž–αž·αžαžŽαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž„αž…αžΆαŸ†αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™ ;-) αŸ”
αž‘αŸ„αŸ‡β€‹αž‡αžΆβ€‹αž™αŸ‰αžΆαž„β€‹αžŽαžΆ αžŸαžΌαž˜β€‹αž€αž»αŸ†β€‹αž²αŸ’αž™β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αžšαŸ†αžαžΆαž“αŸ”

αž αžΎαž™αžŠαžΌαž…αŸ’αž“αŸαŸ‡,

αžαžΎαž’αŸ’αž“αž€αž…αžΆαŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ” αž’αŸ’αžœαžΈαž‚αŸ’αžšαž”αŸ‹αž™αŸ‰αžΆαž„αž‚αžΊαž‡αžΆαž›αžΎαž€αžŠαŸ†αž”αžΌαž„αž αžΎαž™αž˜αŸ’αžαž„αž‘αŸ€αž

αž¬αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€αž“αžΉαž„αž‡αž½αž™αž™αžΎαž„?
Spoiler - "αž”αžΆαž‘ αžœαžΆαž”αžΆαž“αž‡αž½αž™ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ”"

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž‡αžΆαžšαžΏαž„αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„...

αž“αŸ…β€‹αž˜αžΆαž“β€‹αž‡αžΆβ€‹αž”αž“αŸ’αžβ€‹αž‘αŸ€αžβ€¦

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹