11
我们知道索引列如果出现null值会导致索引失效。具体情况如下:
表中数据如下: 可见storeid列有null值。
当执行查询语句:select * from demo where storeid= '10';时我们通过plsql的sql分析(F5触发)可以看到触发全表查询。
那该如何让该在字段有空值的情况下触发索引呢?
有两种方法:
1、建立函数索引 create index xxx on 表名(列名,1) ----相当于给默认值1
2、建立函数索引create index xxx on 表名( decode(列名,null,1)) ---使用decode函数判空则给默认值1
具体执行情况如下,
第一种方法sql分析: 可以看到已经触发索引
--建索引语句 create index demo_t on demo(storeid,0);
--查询语句 select * from demo where storeid= '10';
第二种方法sql分析:也触发了索引
--建索引语句 create index demo_t on demo(decode(storeid,null,0,storeid));
--查询语句 select * from demo where DECODE(STOREID,NULL,0,STOREID)= '10';
总结:
以上就是oracle中的函数索引解决空字段导致索引失效问题。
---------------------
作者:盐城吊霸天
来源:CSDN
原文:https://blog.csdn.net/qq_23974323/article/details/81452891?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
主要介绍了mybatis使用char类型字段查询oracle数据库时结果返回null问题的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
你是否也为在Oracle里如何实现NULL的比较而犯愁呢?
is_number(oracle函数判断字段是否合法数字)
Oracle使用 alter 增加 修改 删除 字段, 可以同时添加多个字段 创建 修改 添加表的约束
oracle 全文检索 oracle全文索引 多列字段检索,匹配多列字段搜索功能。
oracle索引失效的总结
oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全oracle 函数大全
oracle函数大全 oracle函数大全 oracle函数大全
oracle函数介绍 1 著名函数之单值函数 pdf oracle函数介绍 2 非著名函数之单值函数 pdf oracle函数介绍 3 著名函数之聚合函数 pdf oracle函数介绍 4 非著名函数之聚合函数 pdf oracle函数介绍 5 分析函数简述 ...
postgresql 兼容 oracle 函数, postgresql 兼容 oracle 函数,postgresql 兼容 oracle 函数, postgresql 兼容 oracle 函数
oracle_函数索引_oracle函数速查[参考].pdf
Oracle函数.chm
Oracle 表字段或是视图字段添加备注方法 Oracle 是一个强大的关系数据库管理系统,提供了多种方式来添加备注信息到表字段或视图字段中。在本节中,我们将详细介绍如何使用 Oracle 的 Comment 机制来添加备注信息到...
oracle函数大全,oracle函数大全,oracle函数大全,oracle函数大全,
oracle 函数大全 参考函数 手册 速查 chm格式。。。
Oracle函数.txt Oracle函数.txt Oracle函数.txt
Oracle自定义函数返回一张表。主要用于生成一张等时间间隔的表数据。
ORACLE函数及其用法ORACLE函数及其用法ORACLE函数及其用法ORACLE函数及其用法ORACLE函数及其用法
oracle函数大全.chm oracle函数大全.chm
当某张表建立时间比较长以及该表频繁的进行插入,更新操作时,将出现索引失效问题。