2011-09-26 67 views

回答

2

不!

您應該始終考慮索引選擇性!如果索引上的where子句的結果將返回超過表的20%,那麼該索引不會被使用,但會被忽略。

因此,例如,您的視頻的狀態將是1,2,3,那麼你有3個可能的狀態。如果這些指數分佈均勻,我們可以認爲其中有33.3%是適合的。隨後,查詢:

select * from video where status = 1 

將不使用索引!相反,將使用FULL TABLE SCAN。

請仔細閱讀。這真的很重要,也是一個常見的錯誤。

Google search

0

我肯定會使用索引。他們使選擇更快。但是如果有很多插入表格的話,我會再想一想。插入語句上的索引會增加很多重載,並且插入語句會很慢,因爲每次插入時都必須重新構造索引。

2

如果您創建此查詢的索引,試圖(status, filter, category)(順序可能會有所不同)。

但這取決於您的表格行的百分比是多少​​。最小的百分比,您的查詢將使用索引運行得越好。正如santiagobasulto指出的那樣,如果索引選擇性不高,那麼索引將不會用於查詢,但會對錶進行全面掃描。

相關問題