MySQL 索引失效-模糊查詢,最左匹配原則,OR條件等。( 五 )

  • 在 WHERE 子句中,如果在 OR 前的條件列是索引列,而在 OR 后的條件列不是索引列,那么索引會失效 。
  • 最后留一個很有意思的思考題給大家 。
    • 題目1:一個表有多個字段,其中 name 是索引字段,其他非索引,id 擁有自增主鍵索引 。
    • 題目2:一個表有2個字段,其中 name 是索引字段,id 擁有自增主鍵索引 。
    上面兩張表,分別執行以下查詢語句:
    • 1 select * from s where name like "xxx"
    • 2 select * from s where name like "xxx%"
    • 3 select * from s where name like "%xxx"
    • 4 select * from s where name like "%xxx%"
    針對題目 1 和題目 2 的數據表,哪些觸發索引查詢,哪些沒有?
    針對題目1:1234全部走全索引
    針對題目2:12觸發索引,34不會觸發索引
    【MySQL 索引失效-模糊查詢,最左匹配原則,OR條件等。】

    推薦閱讀