索引的可选择性

简介:
索引的“可选择性”是指在该索引列里存储不同值的数目和记录数的比。比如某个表的记录数是
1000条,而该表的索引列的值只有900个不同的值(有100个是相同或是空)。这样索引的可选
择性为900/1000为0.9 。这样当然效果就不好,最好的索引可选择性(如主键索引)是1.0 。索
引的可选择性是衡量索引的利用率的方法,比如在极端的情况下,一个表记录数是1000,而
索引列的值只有5个不同的值,则索引的可选择性很差(只有0.005)。这样的情形使用全表扫
描要比采用索引还好。
测量索引的可选择性
方法1:
可以采用命令方式来测量某个索引的可选择性值,例如COMPAY表的city 列和state列是被建立
成索引,则:
COMPAY 表的city和state 列的不同值的数目为:
Select count( distinct ||%||state) from COMPAY;
用下面语句查出COMPAY表的记录数:
select count(*) from COMPAY;
按照前面的方法进行比可得到该索引的可选择性值。
方法2:
用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
目录
相关文章
|
SQL 关系型数据库 MySQL
mysql 组复制
mysql 组复制
|
10月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
245 14
|
11月前
|
人工智能 安全 机器人
科技云报到:洞见2025年科技潮流,技术大融合开启“智算时代”
科技云报到:洞见2025年科技潮流,技术大融合开启“智算时代”
257 12
|
开发工具 开发者 git
「Mac畅玩鸿蒙与硬件4」鸿蒙开发环境配置篇4 - DevEco Studio高效使用技巧
本篇将进一步介绍如何在 DevEco Studio 中高效使用各种功能,通过掌握快捷键、代码补全、调试工具等,帮助开发者在鸿蒙应用开发中大幅提升工作效率。
581 1
「Mac畅玩鸿蒙与硬件4」鸿蒙开发环境配置篇4 - DevEco Studio高效使用技巧
|
存储 边缘计算 数据处理
边缘计算和云计算的区别
边缘计算和云计算是两种不同的计算范式。云计算通过互联网提供集中式处理、可扩展性和成本效益等优势,而边缘计算则在数据源附近进行分布式处理,具有低延迟、带宽优化和本地化决策等优点。两者在响应时间、网络带宽和安全性方面有显著区别,常互补使用以满足不同应用场景的需求。
1192 3
|
达摩院 调度
使用达摩院MindOpt优化交通调度_最大化通行量—线性规划问题
在数学规划中,网络流问题是指一类基于网络模型的流量分配问题。网络流问题的目标是在网络中分配资源,使得网络的流量满足一定的限制条件,并且使得某些目标函数最小或最大化。网络流问题通常涉及一个有向图,图中每个节点表示一个资源,每条边表示资源之间的关系。边上有一个容量值,表示该边上最多可以流动的资源数量。流量从源节点开始流出,经过一系列中间节点,最终到达汇节点。在这个过程中,需要遵守一定的流量守恒和容量限制条件。
|
存储 监控 安全
5 天学会阿里云 RPA:安全性与合规性
随着数字化转型的加速,机器人流程自动化(RPA)技术在各个行业中得到了广泛应用。阿里云 RPA 作为一种领先的 RPA 解决方案,不仅提供了高效的业务流程自动化能力,还高度重视安全性与合规性。在本文中,我们将深入探讨阿里云 RPA 在安全性与合规性方面的优势和措施。
|
Python
python之有关关键字参数,默认参数,不定长参数,位置参数的定义,区别,以及使用方法。
python之有关关键字参数,默认参数,不定长参数,位置参数的定义,区别,以及使用方法。
262 0
|
JavaScript 前端开发 C++
前端框架 Angular 环境配置
使用 nvm 管理 node.js 多版本并存,并配置前端框架 Angular 的相关环境依赖。
399 0
前端框架 Angular 环境配置
|
小程序 安全 API
微信支付-全面详解(学习总结---从入门到深化)(上)
微信支付(https://pay.weixin.qq.com)是腾讯集团旗下中国领先 的第三方支付平台,一直致力于为用户和企业提供安全、便捷、专业的在线支付服务。
1290 0
微信支付-全面详解(学习总结---从入门到深化)(上)