强制使用索引

MySQL 使用 force index(index_name) 关键字来使查询强制使用索引
示例:

  1. # 强制使用主键索引
  2. explain select uname,age from tp_users force index(PRI) where age <= 30
  3. # 强制使用指定索引
  4. explain select uname,age from tp_users force index(idx_age) where age <= 30
  5. # 强制使用多个索引
  6. explain select uname,age from tp_users force index(PRI,idx_age) where age <= 30

禁止使用索引

MySQL 使用 ignore index(index_name) 关键字来使查询禁止使用索引
示例:

# 禁止使用主键索引
explain select uname,age from tp_users ignore index(PRI) where age <= 30

# 禁止使用指定索引
explain select uname,age from tp_users ignore index(idx_age) where age <= 30

# 禁止使用多个索引
explain select uname,age from tp_users ignore index(PRI,idx_age) where age <= 30