避免不必要的排序(二)
案例2
確認可以使用union all取代union,從而可以避免排序操作。
案例3
案例3
點選(此處)摺疊或開啟
-
DROP TABLE t;
-
CREATE TABLE t AS SELECT * FROM dba_objects;
-
CREATE INDEX idx_t ON t(owner, object_id);
-
-
SET AUTOTRACE TRACEONLY EXPLAIN
-
ALTER TABLE t MODIFY owner NOT NULL;
-
-
--執行語句
-
SELECT /*+ index(a, idx_t) */ * FROM t a ORDER BY owner DESC, object_type ASC;
-
-
Elapsed: 00:00:00.01
-
-
Execution Plan
-
----------------------------------------------------------
- Plan hash value: 332749522
點選(此處)摺疊或開啟
-
--重新定義索引
-
DROP INDEX idx_t;
-
CREATE INDEX idx_t ON t(owner DESC, object_type ASC);
-
-
--再次執行語句,排序操作消失
-
SELECT /*+ index(a, idx_t) */ * FROM t a ORDER BY owner DESC, object_type ASC;
-
-
Elapsed: 00:00:00.02
-
-
Execution Plan
-
----------------------------------------------------------
- Plan hash value: 112249094
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17013648/viewspace-1072154/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 避免不必要的排序(一)排序
- 5、避免建立不必要的物件物件
- 建議:避免建立不必要的物件。物件
- 第5條:避免建立不必要的物件物件
- 如何在Android中避免建立不必要的物件Android物件
- 使用rebase避免公共分支出現不必要的提交記錄
- 5 個技巧避免不必要的瀏覽器相容性問題瀏覽器
- 來自Kenneth Reitz大神的建議:避免不必要的物件導向程式設計物件程式設計
- new BigDecimal時,請使用字串作為引數為最佳,避免不必要的麻煩Decimal字串
- 避免動態SQL(二)SQL
- 將SQL質量審計引入軟體開發可以避免不必要的SQL優化工作SQL優化
- 希爾排序——重溫排序(二)排序
- 希爾排序(二)排序
- 10g中function index無法避免排序FunctionIndex排序
- 歸併排序--二路排序排序
- iOS 避免常見崩潰(二)iOS
- 刪除不必要的核心模組
- 排序——選擇排序小練習(二)排序
- redis使用中存在的問題及如何避免(二)Redis
- MySQL對比清除不必要的表MySql
- 二叉排序樹的實現排序
- 排序演算法(二)排序演算法
- 二叉排序樹排序
- 二維陣列排序陣列排序
- 第二章 :查詢與排序-------希爾排序排序
- 記錄一下避免排序和刪除重複行排序
- 分頁查詢的排序問題(二)排序
- 排序演算法:二分插入排序排序演算法
- 排序演算法——二分插入排序排序演算法
- 二位陣列排序陣列排序
- php 二維陣列排序PHP陣列排序
- 二維陣列行排序陣列排序
- 資料泵避免個別表資料的匯出(二)
- 禁用伺服器的不必要的concurrent manager伺服器
- hibernate中不必要的sql update問題SQL
- 演算法(二)初等排序前篇[插入和希爾排序]演算法排序
- Java-二叉排序樹的刪除Java排序
- js之排序二叉樹JS排序二叉樹