SQL优化必懂概念(一):基数

来源:这里教程网 时间:2026-03-03 19:38:59 作者:

某个列围一键( Distinct_ Keys )的数量叫作基数。 比如性别列, 该列只有男女之分, 所以

这一列基数是 2 。主键列的基数等于表的总行数。基数的高低影响列的数据分布。一般选择性大于 20% 的就是均匀分布的。

 

求一个表总行数:

Select count(*) from table;

求一个列基数:

Select count(distinct colname) from table;

 

Select count(*),count(distinct colname) from table;

 

基数越低说明重复数据越多,基数越高说明重复数据越少

 

在做优化的时候不能只看基数,还要看数据分布,如果里面某个用户占总行数多数,就算基数高也得走全表扫。

在做 SQL 优化的时候, 如果怀疑列数据分布不均衡, 我们可以使用

select 列,count(*) from 表 group by 列 order by 2 desc;

查看列的数据分布

相关推荐