什么是MySQL索引?
MySQL索引是一種結構,它可以提高數據庫表的查詢效率。當你建立一個索引時,它將會按照某種指定的規則對數據進行排序,從而讓查詢更加快速。
為什么索引有時候用不上?
雖然索引可以提高查詢效率,但它并不是萬能的。有時候,你可能會發現索引并沒有起到它應有的作用。這種情況往往有以下幾種原因:
索引列不被查詢使用
如果你的查詢中沒有使用到索引列,那么索引就起不到作用。例如,如果你對一個表的“姓名”列建立了索引,但是你的查詢語句中沒有包含該列,那么這個索引就沒有用。
索引列被轉換了類型
如果索引列被轉換了類型,那么索引就無法使用。例如,如果你的索引列是整數類型,但是你的查詢中將它作為字符串使用了,那么這個索引就無法使用。
索引列出現在函數中
如果你的索引列出現在函數中,那么索引就無法使用。例如,如果你的查詢語句中出現了“WHERE DATE_FORMAT(datetime,'%Y-%m-%d') = '2017-01-01'”,那么索引就無法使用。