0
下面的簡單SQL將返回1條記錄,並執行相當快。 它也有很好的解釋計劃(使用P1指標是主要關鍵指標)。SQL解釋計劃調整
唯一的問題是它需要巨大的緩衝區,即字節= 3.47億(從計劃複製下面)。
6 TABLE ACCESS BY INDEX ROWID TABLE SIEBEL.S_ORG_EXT Cost: 2 Bytes: 347,432,257 Cardinality: 9,390,061
表S_ORG_EXT和S_OPTY的容量很大。這是我無法控制的事情。 你有什麼想法如何優化計劃使用較小的緩衝區大小?
在此先感謝!
SQL:
SELECT A1.NAME
FROM SIEBEL.S_ORG_EXT A1, SIEBEL.S_OPTY A3, SIEBEL.S_BU A4
WHERE A1.ROW_ID = A3.PR_DEPT_OU_ID --4
AND A3.ROW_ID = :V1 --1
AND A4.ROW_ID = A3.BU_ID --2
AND A3.PR_DEPT_OU_ID IS NOT NULL --3
計劃
SELECT STATEMENT ALL_ROWSCost: 5 Bytes: 77 Cardinality: 1
7 NESTED LOOPS Cost: 5 Bytes: 77 Cardinality: 1
4 NESTED LOOPS Cost: 3 Bytes: 40 Cardinality: 1
2 TABLE ACCESS BY INDEX ROWID TABLE SIEBEL.S_OPTY Cost: 3 Bytes: 31 Cardinality: 1
1 INDEX UNIQUE SCAN INDEX (UNIQUE) SIEBEL.S_OPTY_P1 Cost: 2 Cardinality: 1
3 INDEX UNIQUE SCAN INDEX (UNIQUE) SIEBEL.S_BU_P1 Cost: 0 Bytes: 1,485 Cardinality: 165
6 TABLE ACCESS BY INDEX ROWID TABLE SIEBEL.S_ORG_EXT Cost: 2 Bytes: 347,432,257 Cardinality: 9,390,061
5 INDEX UNIQUE SCAN INDEX (UNIQUE) SIEBEL.S_ORG_EXT_P1 Cost: 1 Cardinality: 1