1. 程式人生 > >解決like '%字符串%'時索引不被使用的方法

解決like '%字符串%'時索引不被使用的方法

for read img 掃描 之前 cee album media 字符串

解決like ‘%字符串%‘時索引不被使用的方法

分步閱讀

解決like ‘%字符串%‘時索引不被使用的方法,如果like以通配符開頭(‘%abc‘)時索引會失效會變成全表掃描的操作。

工具/原料

  • mysql

方法/步驟

  1. 如果like以通配符開頭(‘%abc‘)時索引會失效會變成全表掃描的操作。那麽我們改如何解決這個問題。

    技術分享圖片
  2. 現在我們建立一個tbl_user表,並加入如下圖的數據。

    技術分享圖片
  3. 我們現在在建立索引之前查看sql的執行計劃。執行的是全表掃描。

    技術分享圖片
  4. 現在我們建立name和age的覆蓋索引。

    技術分享圖片
  5. 現在我們再來看一下這個like的執行計劃,查看是否使用了索引。我們現在的like使用到了索引。

    技術分享圖片
  6. 如果非得使用like使用索引的話,就要使用覆蓋索引來解決,你建的索引和查詢的字段上一樣。

    技術分享圖片

解決like '%字符串%'時索引不被使用的方法