Oracle技术之索引与Null值对于Hints及执行计划的影响
由于B*Tree索引不存储Null值,所以在索引字段允许为空的情况下,某些Oracle查询不会使用索引.
很多时候,我们看似可以使用全索引扫描(Full Index Scan)的情况,可能Oracle就会因为Null值的存在而放弃索引.
在此情况下即使使用Hints,Oracle也不会使用索引,其根本原因就是因为Null值的存在.
我们看以下测试.
在username字段为Not Null时,Index Hints可以生效.
当索引字段允许为Null时,Oracle放弃此索引:
当该字段为Not Null时,索引可以被强制使用:
这就是Null值对于索引及查询的影响.
oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html
转载于:https://blog.51cto.com/19880614/1251148
Oracle技术之索引与Null值对于Hints及执行计划的影响相关推荐
- MySQL索引对NULL值的处理
# 索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的.所以我们在数据库设计时不要让字段的默认值为NU ...
- oracle排名怎么去除空值影响,Oracle排序中常用的NULL值处理方法
1.缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2.使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 ...
- oracle绑定变量执行计划,绑定变量对执行计划的影响
发现无论启动或者关闭绑定变量窥探使用绑定变量的SQL都有可能选择错误的执行计划,当第一次硬解析产生执行计划时,之后的绑定变量SQL就会继续这个执行计划执行,有时可能是错的.如何改进呢? 1.当关闭绑定 ...
- oracle正确使用索引,通过案例学调优之--Oracle中null使用索引
通过案例学调优之--Oracle中null使用索引 默认情况下,Oracle数据库,null在Index上是不被存储的,当在索引列以"is null"的方式访问时,无法使用索引:本 ...
- NULL 值与索引(一)
NULL值是关系数据库系统布尔型(true,false,unknown)中比较特殊类型的一种值,通常称为UNKNOWN或空值,即是未知的,不确定的.由于 NULL存在着无数的可能,因此NULL值也不等 ...
- Mysql数据唯一约束与唯一索引案例总结及踩坑记(含NULL值与唯一约束唯一索引的搭配使用)
Mysql数据唯一索引与唯一约束案例总结 唯一约束的说明 唯一约束是约束(CONSTRAINT)里的一种,常见的还有主键.外检.默认值.是否为空.检查等.唯一约束即限制某个或某些字段具有唯一性(不能重 ...
- 分析Oracle有时会用索引来查找数据的原因-oracle执行计划
http://www.webjx.com/database/oracle-140.html 问:为什么Oracle有时会用索引来查找数据? 答:在你运用SQL语言,向数据库发布一条查询语句时,Orac ...
- Oracle AWR 阙值影响历史执行计划
最近有网友提到为什么在dba_hist_sql_plan中无法查看到sql语句的历史执行计划,对于这个问题是由于缺省情况下,Oracle 设定的阙值并非捕获所有的sql语句,所以无法看到某些sql历史 ...
- Oracle 反向键索引的原理和用途(减少索引热点块)
Oracle 反向键索引的原理和用途(减少索引热点块) 我们知道Oracle会自动为表的主键列建立索引,这个默认的索引是普通的B-Tree索引.对于主键值是按顺序(递增或递减)加入的情况,默认的B-T ...
最新文章
- 面试官比较看重简历中的哪些维度,有什么写简历的技巧、建议和总结?
- 023_JavaScript数字方法
- optee的Share Memory介绍
- linux pti性能影响,Linux修正内核:Intel打补丁性能狂降、AMD不受影响
- 简单的实现图片预览, 通过原生ajax以及 jQuery两种方法实现图片预览,有更好的办法可以留言喔...................
- 开发人员转售前工程师_工程师和营销人员可以从中学到什么
- java subset_Java TreeSet subSet()方法
- python微控制器编程从零开始 豆瓣_从零开始(什么是编程)认识python
- android 系统(155)---如何自己添加号码归属地数据库?
- NKOJ2317 英语四六级考试
- HTML元信息设置方法
- iframe中src参数过长问题解决
- 3V升压5V芯片,3V升压5V的电路图
- win10微信卡顿_终于找到Win10卡顿病根了!看完秒懂
- CAD注册表:Release Number、Product ID、Locale ID
- Android之Material Dialogs详解(非原创)
- asp.net mvc 实现判断用户是否登录的两种方式
- 软件人才从这里飞翔——访北京大学软件学院院长陈钟博士
- javascript字符串方法indexOf、lastIndexOf 方法的使用
- AS3字符串正则表达式
热门文章
- 7-290 鸡兔同笼 (10 分)
- 4025-数组的正负排序(C++,双指针法,附思路)
- android 进度条图标方形_Android - 条纹进度条实现,调整view宽度仿进度条
- oracle pl sql developer 教程,plsql developer怎么使用 plsql developer图文使用教程
- (Ruby)Ruby中区块用的一些潜藏关键字
- luogu P1578 奶牛浴场
- Linux下使用wget下载FTP服务器文件
- 20170808上课笔记
- iPad开发(Universal Applications)
- Keil uVision4 for ARM 下增加支持C51,C5x