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
- 總結SQL語句中的優化提示SQL優化
- Oracle透過AWR的SQL ordered by Gets和SQL ordered by Reads診斷問題OracleSQL
- SQL生成AWR中的SQL ordered by Elapsed TimeSQL
- 優化器提示優化
- Oracle AWR報告分析之–SQL ordered byOracleSQL
- 查詢bad sqlSQL
- 【SQL優化】SQL優化工具SQL優化
- SQL Server優化之SQL語句優化SQLServer優化
- SQL優化SQL優化
- with as優化sql優化SQL
- 效能優化案例-SQL優化優化SQL
- 加hint改變執行計劃訪問順序優化sql優化SQL
- 資料庫優化 - SQL優化資料庫優化SQL
- sql優化之邏輯優化SQL優化
- SQL優化:limit分頁優化SQL優化MIT
- MySQL 效能優化之SQL優化MySql優化
- SQL優化--用各種hints優化一條SQLSQL優化
- 【SQL優化】SQL優化的10點注意事項SQL優化
- SQL SERVER中SQL優化SQLServer優化
- SQL優化指南SQL優化
- SQL SERVER優化SQLServer優化
- sql效能優化SQL優化
- Sql優化方法SQL優化
- oracle sql優化OracleSQL優化
- SQL優化-索引SQL優化索引
- SQL優化(一)SQL優化
- oracle sql 優化OracleSQL優化
- sql 效能優化SQL優化
- Oracle效能優化-SQL優化(案例一)Oracle優化SQL
- Oracle效能優化-SQL優化(案例二)Oracle優化SQL
- Oracle效能優化-SQL優化(案例三)Oracle優化SQL
- Oracle效能優化-SQL優化(案例四)Oracle優化SQL
- Ubuntu插入行動硬碟後提示Wrong fs type,bad option,bad superblock on /devUbuntu硬碟BloCdev
- SQL Server SQL效能優化之引數化SQLServer優化
- 效能優化部分——高階SQL優化2優化SQL
- oracle優化一例之sql優化Oracle優化SQL
- SQL語句優化SQL優化