同じSQLセット(下記)を、同じインデックスセットとテーブルサイズの2つの異なる環境で実行しています。しかし、彼らは私に2つの異なる説明計画を与えました(添付)
- マージ結合デカルトを使用します-非常に遅い
- PXコーディネーター/PXセンド/PXレシーブを使用-非常に高速
クエリ:
SELECT *
FROM SIEBEL.S_PARTY PRTY, SIEBEL.S_CONTACT CONT, HPQ_IF_ENTERPRISE_DIRECTORY ED,SIEBEL.S_BU BU
WHERE PRTY.ROW_ID = CONT.PAR_ROW_ID
AND BU.ROW_ID(+)=CONT.BU_ID
AND CONT.EMP_NUM IS NOT NULL
AND ED.HPSTATUS NOT IN ('Terminated', 'Retired', 'Deceased')
AND ED.EMPLOYEENUMBER = UPPER (LPAD (CONT.EMP_NUM, 8, '0'))
AND (SUBSTR(ED.MODIFYTIMESTAMP,1,14) >= '19800101' OR ED.MODIFYTIMESTAMP IS NULL)
この違いを引き起こす可能性のあるものは何ですか?そして、2番目の説明プラン(PXのもの)はどういう意味ですか?
SQLクエリの変更(本番環境でのフリーズ)を探していないことに注意してください。
どうもありがとう。