一個列唯一鍵(Distinct_Keys)的數量叫作基數。比如性別列,該列只有男女之分,所以這一列基數是 2。
**看test表中owner列基數大小,object_id是表的主鍵**

**看test表中owner列基數的數據分布:**

**看owner="scott"的記錄占整個表所有數據的百分比**

**查看某列的各個基數分布**
在做 SQL 優化的時候,如果懷疑列數據分布不均衡,我們可以使用 select 列名, count(*) from 表 group by 列名 order by 2 desc 。
當查詢結果是返回表中 5%以內的數據時,應該走索引;當查詢結果返回的是超過表中 5%的數據時,應該走全表掃描。
如果某個列基數很低,該列數據分布就會非常不均衡,由于該列數據分布不均衡,會導致 SQL 查詢可能走索引,也可能走全表掃描。