1基数与选择性

Posted nathon-wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1基数与选择性相关的知识,希望对你有一定的参考价值。

1、什么是基数(Cardinality)

基数:

列上唯一键(Distinct_key)的数量,例如性别列有两个唯一的键值,男、女,那这一列的基数就是2。  无论有多少行,性别列只有两个唯一值,基数就是2。

主键列的基数就等于总行数。

基数越高,说明这个列重复数据越少;相反基数越低,说明列的重复值越多。

优化中看一个列的基数的同时,也要看这一列的数据分布。

 

2、什么是选择性:

选择性 = 基数 * 总行数    

选择性最大等于100% , 主键列的选择性为100% 

选择性有什么作用:判断这个列适不适合建索引。 选择性约好的列越适合建索引。  当某个列选择性大于20%的时候,这个列就适合建索引。

 

以上是关于1基数与选择性的主要内容,如果未能解决你的问题,请参考以下文章

根据 ID 选择行,然后再根据文本框的基数选择行

基数排序。为啥选择异或?

索引选择性与cardinality

数据结构与算法从零开始系列:冒泡排序选择排序插入排序希尔排序堆排序快速排序归并排序基数排序

关于mysql 索引自动优化机制: 索引选择性(Cardinality:索引基数)

直方图基数选择性群集因子