基數又叫索引基數,是數據列所包含的不同值的數量。
例如,某個數據列包含值1、3、7、4、7、3,那么它的基數就是4。
索引基數越大,工作效率越好。
如果某個索引所在的數據列含有很多不同年齡,索引會快速分辨數據行。
如果某個索引所在的數據列只記錄性別(man或者woman),那么索引的用處就不大。
如果值出現的機率幾乎相等,那么無論搜索哪個值都可能得到一半的數據行。在這些情況下,最好不要使用索引,因為查詢優化器發現某個值出現在表的數據行中的百分比很高的時候,它一半會忽略索引,進行全表掃描。慣用的百分比界限是30%。(匹配的數據量超過一定限制的時候查詢器會放棄使用索引。盡量不使用會導致索引失效的條件,比如in,用exists子查詢代替,或者in的條件少時可以用union all代替)