2017-04-12 134 views
0

我在我的數據庫中有一個名爲transaction的表,其中有兩個索引,如下圖所示。有時非唯一索引(account_id)顯示不同的基數。例如,有時候這兩個索引顯示了相同的基數,不應該是這種情況,因爲與PRIMARY相比,非唯一索引具有許多重複值,只有唯一值。到目前爲止,我不得不DROP,然後重新創建非唯一索引來解決暫時的問題。可能是什麼問題?非唯一索引基數

enter image description here

回答

1

是沒有問題的。引述reference manual

基數

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

由於基數中的值只是一個估計值,因此您不應該認爲它是100%準確的。

+0

謝謝你的信息。但有時看到非唯一列的列往往會將其值增加一個數字,只允許表中的某些行使用13,並且我試圖想出一個解決方案來解釋爲什麼會發生這種情況? – lil