2016-04-25 21 views
1

我在MySQL和數據庫方面很新穎,我剛剛發現並試用了索引,但有些東西還不清楚。我檢查了this question以及有關基數的答案,並且我瞭解基數的值表示索引列中的唯一對象。我對嗎?或者它只是一個近似值?瞭解MySQL索引的基數的價值

我問這個,因爲我有40.000行,它的一個索引列一個表,把它column1具有49唯一值,但是它的基數爲102的值,這怎麼可能?我試圖爲column1添加具有完全唯一值的新行,但基數值沒有改變。這是正常的嗎?

+0

有時MySQL的數字確實很糟糕。估計可能會減少100倍或更多。 – tadman

回答

1

從MySQL手冊 - http://dev.mysql.com/doc/refman/5.7/en/show-index.html

基數

索引中唯一值的數量的估計值。這通過運行ANALYZE TABLE或myisamchk -a進行更新。基數是基於統計數據存儲爲整數,所以即使對於小型表格,該值也不一定準確。基數越高,MySQL在進行連接時使用索引的機會就越大。