本文主要是介绍SQL优化必懂概念(一):基数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
某个列唯一键(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;
来查看列的数据分布。
这篇关于SQL优化必懂概念(一):基数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!