一个列唯一键(Distinct_Keys)的数量叫作基数。比如性别列,该列只有男女之分,所以这一列基数是 2。
**看test表中owner列基数大小,object_id是表的主键**

**看test表中owner列基数的数据分布:**

**看owner="scott"的记录占整个表所有数据的百分比**

**查看某列的各个基数分布**
在做 SQL 优化的时候,如果怀疑列数据分布不均衡,我们可以使用 select 列名, count(*) from 表 group by 列名 order by 2 desc 。
当查询结果是返回表中 5%以内的数据时,应该走索引;当查询结果返回的是超过表中 5%的数据时,应该走全表扫描。
如果某个列基数很低,该列数据分布就会非常不均衡,由于该列数据分布不均衡,会导致 SQL 查询可能走索引,也可能走全表扫描。