索引的可选择性
2023-09-14 08:59:49 时间
索引的“可选择性”是指在该索引列里存储不同值的数目和记录数的比。比如某个表的记录数是
1000条,而该表的索引列的值只有900个不同的值(有100个是相同或是空)。这样索引的可选
择性为900/1000为0.9 。这样当然效果就不好,最好的索引可选择性(如主键索引)是1.0 。索
引的可选择性是衡量索引的利用率的方法,比如在极端的情况下,一个表记录数是1000,而
索引列的值只有5个不同的值,则索引的可选择性很差(只有0.005)。这样的情形使用全表扫
描要比采用索引还好。
测量索引的可选择性
可以采用命令方式来测量某个索引的可选择性值,例如COMPAY表的city 列和state列是被建立
成索引,则:
COMPAY 表的city和state 列的不同值的数目为:
Select count( distinct ||%||state) from COMPAY;
用下面语句查出COMPAY表的记录数:
select count(*) from COMPAY;
按照前面的方法进行比可得到该索引的可选择性值。
用analyze 对表进行统计,对表进行分析后,系统同样对索引进行了分析。在查询结果。
ANALYZE TABLE compay compute statistics;
一旦表及其索引被分析过,就可以查询USER_INDEXES数据字典中的数据:
查询不同索引的列值:
select distinct_keys from user_indexes where table_name=’COMPAY’;
查询表中的记录数:
select num_rows from user_tables where table_name =’COMPAY’;
索引可选择性= distinct_keys / num_rows
mysql索引(六)主键索引 主键索引(PRIMARY):它是一种特殊的唯一索引,不允许有空值。 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录。一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。
比较列存储索引与行索引 原文:比较列存储索引与行索引 之前已经写过一篇关于列存储索引的简介http://www.cnblogs.com/wenBlog/p/4970493.html,很粗糙但是基本阐明了列存储索引的好处。
eric0435 系统架构师(高级工程师),ACOUG amp;CSOUG核心成员,Oracle Young Expert 。政府信息化技术顾问。湖南省政府采购评审专家,从2007年开始从事社会保险系统开发,应用架构设计,数据库管理工作。擅长Oracle数据库故障诊断,性能调优。
mysql索引(六)主键索引 主键索引(PRIMARY):它是一种特殊的唯一索引,不允许有空值。 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录。一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL。
比较列存储索引与行索引 原文:比较列存储索引与行索引 之前已经写过一篇关于列存储索引的简介http://www.cnblogs.com/wenBlog/p/4970493.html,很粗糙但是基本阐明了列存储索引的好处。
eric0435 系统架构师(高级工程师),ACOUG amp;CSOUG核心成员,Oracle Young Expert 。政府信息化技术顾问。湖南省政府采购评审专家,从2007年开始从事社会保险系统开发,应用架构设计,数据库管理工作。擅长Oracle数据库故障诊断,性能调优。
相关文章
- elasticsearch判断索引是否存在
- ElasticSearch.net NEST批量创建修改删除索引完整示例
- TDengine 3.0.2.5 查询再优化!揭秘索引文件的工作原理
- Hudi(19):Hudi集成Flink之索引和Catalog
- 【示例】Lucene查询索引库编程步骤
- Atitit 群控云控资料索引index cyonkon yunkon cyonkonYonkon群控云控方面资料.rar C:UsersATIDocumentscyonkonYonko
- Python编程语言学习:一行代码利用enumerate函数把纯列表数据转为自带索引的字典数据,字典格式数据应用之key和value相互提取
- Leetcode 852. 山脉数组的峰顶索引
- ES索引瘦身 压缩——_source _all 均disable filed store为no,引入第三方DB存储原始数据,去掉pos倒排和doc_values,强制定期merge segments,将所有fileds合并为一个field big string
- MySQL索引实现
- Mysql实战篇之普通索引和唯一索引--01