搜尋

首頁  >  問答  >  主體

mysql優化 - mysql 5.7 not in != 索引有效,是為什麼啊?更新了嗎?

為什麼我今天在5.7的mysql上,使用not in != 都使用上了索引,看了很多文章都寫著索引會失效,是因為mysql更新了嗎?那現在那些查詢條件會導致索引失效

过去多啦不再A梦过去多啦不再A梦2780 天前1379

全部回覆(1)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:48:28

    not in或!=會導致索引失效並不是絕對的對於數據較為均勻的場景是會失效的但是如果業務數據嚴重不均的字段加了索引的話是不一定失效的mysql自己會做判斷並不是絕對判定不使用索引例如表A性別列有男10000條女20條,當sex!='男'是可以使用索引的同樣的如果你sex='男'反而不會使用索引mysql自己會選擇最優的檢索方式

    回覆
    0
  • 取消回覆