【索引】反向索引--條件 範圍查詢(二)
當 where 條件中 含有 <> 條件或者 not in 時 走INDEX FAST FULL SCAN 執行計劃中的 限制條件 not in 轉換為 <>
where 條件中含有 = 號 或in 時 走INDEX RANGE SCAN 注意執行計劃中的限制條件 in 被轉換為 =PHP code:
SQL> select object_id from t1 where object_id <> 1;
53519 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 711836071
-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 53518 | 261K| 29 (4)| 00:00:01 |
|* 1 | INDEX FAST FULL SCAN| I_ID | 53518 | 261K| 29 (4)| 00:00:01 |
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("OBJECT_ID"<>1)
Statistics
----------------------------------------------------------
1 recursive calls
。。。。。。
53519 rows processed
SQL> select object_id from t1 where object_id not in (45,65,95,32,1,2,5,64,83);
53511 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 711836071
-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 53510 | 261K| 31 (10)| 00:00:01 |
|* 1 | INDEX FAST FULL SCAN| I_ID | 53510 | 261K| 31 (10)| 00:00:01 |
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("OBJECT_ID"<>45 AND "OBJECT_ID"<>65 AND "OBJECT_ID"<>95
AND "OBJECT_ID"<>32 AND "OBJECT_ID"<>64 AND "OBJECT_ID"<>83 AND
"OBJECT_ID"<>5 AND "OBJECT_ID"<>2 AND "OBJECT_ID"<>1)
PHP code:
SQL> select object_id from t1 where object_id =55 or object_id =65;
Execution Plan
----------------------------------------------------------
Plan hash value: 3991740069
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 2 | 10 | 3 (0)| 00:00:01 |
| 1 | INLIST ITERATOR | | | | | |
|* 2 | INDEX RANGE SCAN| I_ID | 2 | 10 | 3 (0)| 00:00:01 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"=55 OR "OBJECT_ID"=65)
Statistics
----------------------------------------------------------
1 recursive calls
。。。。。。
2 row
PHP code:
SQL> select object_id from t1 where object_id in (45,65,95,32,1,2,5,64,83);
8 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3991740069
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 9 | 45 | 9 (0)| 00:00:01 |
| 1 | INLIST ITERATOR | | | | | |
|* 2 | INDEX RANGE SCAN| I_ID | 9 | 45 | 9 (0)| 00:00:01 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OBJECT_ID"=1 OR "OBJECT_ID"=2 OR "OBJECT_ID"=5 OR
"OBJECT_ID"=32 OR "OBJECT_ID"=45 OR "OBJECT_ID"=64 OR "OBJECT_ID"=65 OR
"OBJECT_ID"=83 OR "OBJECT_ID"=95)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-672908/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【索引】反向索引--條件 範圍查詢索引
- Mysql索引的使用 - 組合索引 + 範圍條件的處理MySql索引
- MongoDB範圍查詢的索引優化MongoDB索引優化
- 反向索引與模糊查詢索引
- 關於聯合索引,範圍查詢,時間列索引的幾個問題索引
- MySQL 唯一索引範圍查詢鎖下一個記錄的理解MySql索引
- 【索引】Oracle查詢指定索引提高查詢效率索引Oracle
- 【索引】反向索引引起排序索引排序
- oracle 索引升降序及排序條件 對查詢計劃的影響Oracle索引排序
- MySQL實驗: 實踐索引對全列匹配、最左字首匹配、範圍查詢等條件的影響以及瞭解髒讀、幻讀等MySql索引
- AppBoxFuture: 二級索引及索引掃描查詢資料APP索引
- Mysql索引的使用-組合索引+跳躍條件MySql索引
- elasticsearch之多索引查詢Elasticsearch索引
- Elasticsearch(三):索引查詢Elasticsearch索引
- 查詢索引 常用SQL索引SQL
- 查詢相似的索引索引
- 【索引】oracle查詢使用索引和不使用索引的比較索引Oracle
- ElasticSearch分片互動過程(建立索引、刪除索引、查詢索引)Elasticsearch索引
- 【原創】MySQL 模擬條件索引MySql索引
- MongoDB查詢條件MongoDB
- MongoDB條件查詢MongoDB
- mysql條件查詢MySql
- MongoDB慢查詢與索引MongoDB索引
- 字母索引查詢ListView元件索引View元件
- mysql查詢索引結構MySql索引
- 索引監控-查詢從未被使用過的索引索引
- Oracle日期時間範圍查詢Oracle
- 反向索引處理前%索引
- oracle之 反向鍵索引Oracle索引
- 【原創】MySQL 模擬條件索引薦MySql索引
- 謂詞條件是is null走索引嗎?Null索引
- 為何在查詢中索引未被使用(二)——問題解答索引
- Laravel 多條件查詢Laravel
- SQL多條件查詢SQL
- 條件查詢JSPJS
- MySQL索引與查詢優化MySql索引優化
- (利用索引)大資料查詢索引大資料
- 根據表查詢索引資訊索引