索引的选择性低,但数据的分布差异很大时,仍然可以利用索引提高效率。 A、数据分布不均匀的特殊情况下,选择性不高的索引也要创建。 表ServiceInfo中数据量很大,假设有一百万行,其中有一个字段DisposalCourseFlag,取范围为枚举:[0,1,2,3,4,5,6,7

索引的选择性低,但数据的值分布差异很大时,仍然可以利用索引提高效率。

A、数据分布不均匀的特殊情况下,选择性不高的索引也要创建。

表ServiceInfo中数据量很大,假设有一百万行,其中有一个字段DisposalCourseFlag,取值范围为枚举值:[0,1,2,3,4,5,6,7]。

按照前面说的索引建立的规则,“选择性不高的字段不应该建立索引”,

该字段只有8种取值,索引值的重复率很高,索引选择性明显很低,因此不建索引。

然而,由于该字段上数据值的分布情况非常特殊,具体如下表:

取值范围 占总数据量的百分比

1~5 1%

6 98%

7 1%

而且,常用的查询中,查询DisposalCourseFlag<6 的情况既多又频繁,毫无疑问,如果能够建立索引,并且被应用,

那么将大大提高这种情况的查询效率。因此,我们需要在该字段上建立索引。 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

oracle数据分布不均,oracle性能优化操作七:索引提高数据分布不均匀时查询效率...相关推荐

  1. mysql 索引未命中_联合索引命中率问题导致SQL查询效率慢的问题

    执行 MySQL DumpSlow 结果是:Count: 1358  Time=0.33s (448s)  Lock=0.00s (0s)  Rows=2.5 (3343) Count:出现次数 Ti ...

  2. oracle 9i hwm,Oracle 10g HWM原理及性能优化

    摘 要: HWM(High Water Mark)是表中已经使用过的存储空间与未使用过的存储空间之间的分界线,HWM对全表扫描的性能有非常大的影响.当全表扫描时,Oracle会读取HWM下所有的块,即 ...

  3. bootstraptable获取所有数据_一键获取oracle用户下所有表的表名与其数据量

    概述 作为DBA,对数据库中表段.索引段之类的数量,大概的级别是需要有个大致了解的,今天主要分享一个存储过程,可以很实用的获取到oracle用户下所有表的表名与其数据量. 查询当前用户名下所有表 se ...

  4. SQL Server 查询性能优化——覆盖索引(二)

    在SQL Server 查询性能优化--覆盖索引(一)  中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索 ...

  5. Sql Server查询性能优化之索引篇【推荐】

    Sql Server查询性能优化之索引篇[推荐] 这篇是索引系列中比较完整的,经过整理而来的 一 索引基础知识 索引概述 1.概念 可以把索引理解为一种特殊的目录.就好比<新华字典>为了加 ...

  6. SQL Server 查询性能优化——覆盖索引(一)

    覆盖索引又可以称为索引覆盖. 解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖. 解释二: 索引是高效找到行的一个方法,当能通过检索索引 ...

  7. linux 查看oracle数据库字符集,Oracle字符集的查看查询和Oracle字符集的设置修改

    三. 修改Oracle的字符集 8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误. Startup nomount; A ...

  8. 在左表或右表的连接字段上建立索引对左、内连接的查询效率的优化情况分析

    -- 1.建表 drop table if exists dept_tbl;create table dept_tbl (rcrd_id int unsigned primary key auto_i ...

  9. Oracle ——数据库 SQL 分页性能分析

    本文内容 创建测试表 test 及其数据 创建 test 表索引 创建 test 表的统计数据 测试数据分布情况 演示三种数据库分页的性能 总结 参考资料 本文内容并不新鲜,很早就有人写过,但那毕竟是 ...

最新文章

  1. showModalDialog和showModelessDialog使用心得
  2. 八天学会MongoDB:第五天 主从复制
  3. java 数据合并算法_Java与算法之(11) - 合并排序
  4. 【计算机网络】HTTP 与 HTTPS ( HTTP 发展过程 | HTTP/1.1 与 HTTP/2 对比 | HTTP 报文格式 )
  5. leetcode 上的Counting Bits 总结
  6. ant design datepicker处理日期范围操作
  7. java定义变量的输入_Terraform中输入变量
  8. jvm类加载机制是怎么样的
  9. [hdu2089]不要62(数位dp)
  10. 必成功的Hadoop环境搭建jdk环境搭建-超详细操作
  11. python数据分析的常用方法_16种常用的数据分析方法汇总
  12. LiveQing私有云流媒体-云端录像时间轴视频及列表视图
  13. 延庆区计算机学校,【基层链接】发展中的校园欢迎你——延庆五中现代化的教学专室与设备系列...
  14. java类的使用方法小结_JavaPoet的使用指南小结
  15. java 实现金额大小写转换
  16. 使用记账软件记录生活收支明细,如何防止收支不被他人修改
  17. AWS创建并连接云虚拟机 - Linux(结尾附视频)
  18. 02325计算机系统结构201810,2018年10月自考02325计算机系统结构真题及答案
  19. Android使用WebView加载Url时提示“请在微信客户端打开链接”
  20. 拉格朗日KKT条件极值求解

热门文章

  1. 还不懂Redis?看完这个故事就明白了!
  2. 闲鱼的云原生故事:靠什么支撑起万亿的交易规模?
  3. 大麦云原生边缘计算探索,让观众剧院看戏也能实现个性化
  4. 这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作!
  5. 谷歌“夜莺计划”秘密采集数百万美国人健康隐私;联发科首款7nm产能的5G芯片;2019年天猫双11落幕,最终成交额2684亿……...
  6. 面趣 | 那些面试没过的程序员,都去了哪里?答案真的挺励志
  7. react实现页面多个模块的切换
  8. java并发condition_Java并发之Condition的实现分析
  9. matlab 轴承 压力分布 绘图,数值计算绘制动压轴承压力场分布图
  10. 微弱信号检测_机动车检测线常用传感器介绍