Bad SQL 優化加提示 /*+ordered */
資料庫版本oracle 9.2.0.8i
Oracle只需要按照表在From子句中的出現順序進行連線,從而按照我們的意圖進行解析或執行.
SELECT b.ID Pallet_ID, b.No Pallet_No, b.Is_Closed, b.Pack_Mode
FROM DMPSFIS1.R_Pallet_Detail a, DMPSFIS1.R_Pallet b
WHERE a.Carton_ID = 157709265
AND a.Del_Flag = 0
AND b.Pack_Mode = '1'
AND b.Del_Flag = 0
AND b.ID = a.Pallet_ID;
執行計劃
0 SELECT STATEMENT Optimizer Mode=RULE
1 0 NESTED LOOPS
2 1 TABLE ACCESS BY INDEX ROWID DMPSFIS1.R_PALLET
3 2 INDEX RANGE SCAN DMPSFIS1.IX
4 1 TABLE ACCESS BY INDEX ROWID DMPSFIS1.R_PALLET_DETAIL
5 4 AND-EQUAL
6 5 INDEX RANGE SCAN DMPSFIS1.IX_R_PATTET_DETIAL_CARTON_ID
7 5 INDEX RANGE SCAN DMPSFIS1.IX_R_PATTET_DETAIL_PATTET_ID
看這條件只有1筆資料。
SELECT count(1)
FROM DMPSFIS1.R_Pallet_Detail a
WHERE a.Carton_ID = 157709265
AND a.Del_Flag = 0
加提示後的執行計劃,1s可以跑出結果。
set autotrace trace explain
SELECT /*+ordered */ b.ID Pallet_ID, b.No Pallet_No, b.Is_Closed, b.Pack_Mode
FROM DMPSFIS1.R_Pallet_Detail a, DMPSFIS1.R_Pallet b
WHERE a.Carton_ID = 157709265
AND a.Del_Flag = 0
AND b.Pack_Mode = '1'
AND b.Del_Flag = 0
AND b.ID = a.Pallet_ID;
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer Mode=RULE (Cost=5 Card=1 Bytes=32)
1 0 NESTED LOOPS (Cost=5 Card=1 Bytes=32)
2 1 TABLE ACCESS BY INDEX ROWID DMPSFIS1.R_PALLET_DETAIL (Cost=4 Card=1 Bytes=11)
3 2 INDEX RANGE SCAN DMPSFIS1.IX_R_PATTET_DETIAL_CARTON_ID (Cost=3 Card=1)
4 1 TABLE ACCESS BY INDEX ROWID DMPSFIS1.R_PALLET (Cost=1 Card=1 Bytes=21)
5 4 INDEX UNIQUE SCAN DMPSFIS1.IX_R_PALLET_ID (Card=1)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23757700/viewspace-730616/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle優化案例-復現SQL ordered by Parse Calls(三十二)Oracle優化SQL
- Ubuntu插入行動硬碟後提示Wrong fs type,bad option,bad superblock on /devUbuntu硬碟BloCdev
- sql優化之邏輯優化SQL優化
- 資料庫優化 - SQL優化資料庫優化SQL
- SQL SERVER優化SQLServer優化
- SQL優化指南SQL優化
- Oracle效能優化-SQL優化(案例一)Oracle優化SQL
- Oracle效能優化-SQL優化(案例二)Oracle優化SQL
- Oracle效能優化-SQL優化(案例三)Oracle優化SQL
- Oracle效能優化-SQL優化(案例四)Oracle優化SQL
- SQL優化參考SQL優化
- sql優化專題SQL優化
- SQL語句優化SQL優化
- SQL效能優化技巧SQL優化
- MySQL-SQL優化MySql優化
- 慢Sql優化思路SQL優化
- Oracle SQL優化之sql tuning advisorOracleSQL優化
- SQL優化案例-使用with as優化Subquery Unnesting(七)SQL優化
- linux nginx 網站訪問提示502 Bad GatewayLinuxNginx網站Gateway
- 資料庫優化SQL資料庫優化SQL
- MYSQL SQL語句優化MySql優化
- SQL優化之limit 1SQL優化MIT
- 優化sql查詢速度優化SQL
- (轉)SQL 優化原則SQL優化
- SQL優化的方法論SQL優化
- 史上最全SQL優化方案SQL優化
- MySQL SQL優化案例(一)MySql優化
- MySQL之SQL優化技巧MySql優化
- [20201224]sql優化困惑.txtSQL優化
- sql語句效能優化SQL優化
- SQL精華總結索引型別優化SQL優化事務大表優化思維導圖❤️SQL索引型別優化
- [20181220]使用提示OR_EXPAND優化.txt優化
- SQL優化器探討(zt)SQL優化
- SQL優化案例-union代替or(九)SQL優化
- SQL優化之利用索引排序SQL優化索引排序
- 效能調優——SQL最佳化SQL
- 達夢SQL優化方法statSQL優化
- MySQL之SQL語句優化MySql優化
- Mysql慢SQL分析及優化MySql優化