索引裡的NULL值與排序小記
table wxh_tbd1 ( a varchar2(100),b varchar2(100) ,c varchar2(200));
Table created.
into wxh_tbd1 select object_type ,status ,NAMESPACE from dba_objects;
index w_i on wxh_tbd1(a,b,c);
Index created.
dbms_stats.gather_table_stats(user,'wxh_tbd1');
PL/SQL procedure successfully completed.
* from wxh_tbd1 where a='TABLE' AND B IS NULL AND C='c' order by c;
no rows selected
Execution Plan
----------------------------------------------------------
Plan hash value: 1269858568
-------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 15 | 1 (0)| 00:00:01 |
|* 1 | INDEX RANGE SCAN| W_I | 1 | 15 | 1 (0)| 00:00:01 |
-------------------------------------------------------------------------
* from wxh_tbd1 where a='TABLE' AND B IS NULL AND C>'c' order by c;
no rows selected
Execution Plan
----------------------------------------------------------
Plan hash value: 1380261624
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 15 | 2 (50)| 00:00:01 |
| 1 | SORT ORDER BY | | 1 | 15 | 2 (50)| 00:00:01 |
|* 2 | INDEX RANGE SCAN| W_I | 1 | 15 | 1 (0)| 00:00:01 |
--------------------------------------------------------------------------
第二種情況出現了排序。原因是ORACLE傻B的不知道 (NULL,1) 和(NULL,2)誰大誰小,因此第二種查詢就會出現排序,DUMP出索引,索引裡也是亂序的
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-694507/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- NULL 值與索引Null索引
- NULL 值與索引(二)Null索引
- 關於NULL值在索引裡的兩個疑惑Null索引
- MySQL裡null與空值的辨析MySqlNull
- NULL與索引Null索引
- NULL與排序Null排序
- null(空值)小結Null
- 索引與null(一):單列索引索引Null
- 索引與null(二):組合索引索引Null
- PostgreSQL排序把null值排在後面SQL排序Null
- Oracle 排序中常用的NULL值處理方法Oracle排序Null
- 關於null值的小知識Null
- MySQL null值欄位是否使用索引的總結MySqlNull索引
- 再說索引與Null值對於Hints及執行計劃的影響索引Null
- mysql中null與“空值”的坑MySqlNull
- 淺談索引序列之是否可以儲存NULL值?索引Null
- 【NULLS】Oracle對SQL排序後NULL值位置的“特殊關照”NullOracleSQL排序
- laravel-query-builder 對於欄位 值為 null的排序方式LaravelUINull排序
- 演算法與排序--索引演算法排序索引
- TreeSet的null值與元素型別的約束Null型別
- 【NULL】Oracle null值介紹NullOracle
- 論壇藉助:最佳化sql,null值如何走索引SQLNull索引
- hive中的null值HiveNull
- MySQL中IS NULL、IS NOT NULL、!=不能用索引?胡扯!MySqlNull索引
- 微信小程式獲取index索引值的方法微信小程式Index索引
- 索引儲存小記索引
- [20231024]NULL值在索引的情況.txtNull索引
- 【SQL 學習】排序問題之order by與索引排序SQL排序索引
- SQL中的空值NULLSQLNull
- SQL server中的NULL值SQLServerNull
- 面試題((A)null).fun()——java中null值的強轉面試題NullJava
- 為什麼索引無法使用is null和is not null索引Null
- 【索引】反向索引引起排序索引排序
- Oracle 在連線條件裡處理和比較 NULL 值OracleNull
- 一個500萬記錄的table, 一欄位索引,不過會有空值,是保持null好,還是讓它有預設值好索引Null
- sqlserver、oracle資料庫排序空值null問題解決辦法SQLServerOracle資料庫排序Null
- kettle 裡的 NULL 和空字串Null字串
- 不再迷惑,無值和 NULL 值Null