查看完整版本 : like百分號前置不會走索引? NO!

子時原始的隊長 2020-8-30 02:23 PM

like百分號前置不會走索引? NO!

“模糊查詢,前置百分號不走索引;後置百分號才會走索引”這可能是大部分人都知道的“常識”,然而,這週在做SQL優化的時候,無意中碰到了意外情況–模糊查詢,前置百分號也走索引!
舉個栗子 表: TEST_USER 索引:INDEX_MOBILE




測試1,只查索引字段只查手機號
只select手機號
從上面圖片中的執行計劃可以看出,查詢是走了索引的
測試2,查索引字段和主鍵查手機號和主鍵
select手機號和主鍵
從執行計劃中看,也是走了索引的
測試3,查非索引字段select 索引字段和非索引字段
select手機號和姓名
從執行計劃,可以看出這次是沒有走索引的了
測試4,where後面多條件假如where後面,多個條件
where後面多個條件
還是會走索引了!
結論從上面幾次試驗,可以得到一個結論:like查詢百分號前置,並不是100%不會走索引。如果只select索引字段,或者select索引字段和主鍵,也會走索引的。
當然,文章說的這種情況,是比較偏的,實際工作,很少只select索引字段的,但是,知道這個,以後跟別人討論到“like百分號前置不走索引”的時候,你的內心可以是這樣了,使用[url=http://www.0mso.com]美搜搜索[/url]查到
[align=left]退後 危險[/align]

[align=left]Tips:[/align]

[align=left]文中使用的是mysq數據庫,版本5.7,沒有對其他版本mysql進行驗證,如果其他版本不適用,請留言指正![/align]
頁: [1]
查看完整版本: like百分號前置不會走索引? NO!