让索引包含null值的两种方法
来源:互联网 发布:如何找天使投 知乎 编辑:程序博客网 时间:2024/06/15 11:58
1. 把有NULL值的列与一个常数,或者一个带有not null约束的列一同索引
create index ind_01 on t01(col01,1);
或者
create index ind_01 on t01(col01,col02); --col02 必须带有NOT NULL约束.
下面是例子:
CREATE TABLE TAB (COL1 NUMBER, COL2 NUMBER NOT NULL);
INSERT INTO TAB SELECT CASE WHEN ROWNUM<=10 THEN NULL ELSE OBJECT_ID END,OBJECT_ID FROM ALL_OBJECTS;
create index testx on tab(col1,col2);
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER,'TAB');
SELECT * FROM TAB WHERE COL1 IS NULL;
Execution Plan
----------------------------------------------------------
Plan hash value: 546044058
--------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 9 | 1 (0)| 00:00:01 |
|* 1 | INDEX RANGE SCAN| TESTX | 1 | 9 | 1 (0)| 00:00:01 |
--------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - access("COL1" IS NULL)
2. 把一个例上面的NULL值进行索引,非NULL值不索引,这样建立的索引会非常小,查询效率很高.
但是在写SQL的时候,需要注意谓词条件必须与函数一致.
create index ind_01 on t01(decode(col01,null,1,null));
第一种方法适合用在除了NULL,其它的值也要用索引的情况。
第二种方法适用用在只对NULL值会用到索引,所以这个索引会很小。
END-
字段中有null值查询不走索引的问题解决
- 让索引包含null值的两种方法
- MYSQL的UNIQUE索引包含null值及验证
- 建在含有null值的字段上的索引会包含null值数据
- JSP中的两种包含页面的方法
- 在页面中包含两种语言编码的方法
- JSP中的两种包含页面的方法
- JSP中的两种包含页面的方法
- is null 条件使用索引的方法
- 修复Domino数据库视图索引的两种方法
- 用Mootools获得操作索引的两种方法
- Jsp页面中判断字符串是否包含另一个字符串的两种方法,js判断包含的indexOf()方法
- 让PHP支持页面回退的两种方法
- 让PHP支持页面回退的两种方法
- 让Windows XP自动登录的两种方法
- 让 Ubuntu 开机以命令行登录的两种方法
- 让PHP支持页面回退的两种方法
- 让shell脚本在后台运行的两种方法
- 让Excel工作簿中宏自动运行的两种方法
- system(“pause”)
- tensorflow 错误ImportError: No module named sklearn
- Spring Boot核心
- PHP mktime()、getdate() 、checkdate()、strftime()函数
- Redis学习之持久化
- 让索引包含null值的两种方法
- 复数运算符的重载与模版类complex的对比
- Java开发中的23种设计模式详解(转)
- 读书笔记之支持向量机(SVM)基础
- cJSON
- 26、Android开发基础之Activity的生命周期
- 【Java】利用Java对配置文件操作实现Java程序的国际化
- Ubuntu安装adb
- 图片压缩 SCALE_SMOOTH算法