mysql force index 简单使用

mysql force index 简单使用,第1张

explain sql语句 会返回mysql查询优化器对将要执行的sql的执行计划(不是真的执行,只是给出执行计划)

结果中的possible_keys给出可能使用的索引

mysql会选择它认为最合适的索引,有时候mysql认为的最优的索引并不是实际上真的的最快的索引

此时可以用force index人为指定索引

force index 跟着表明后面,用于强制使用指定的索引名(key)

创建一个表:

create table users(

username varchar(15) not null Primary Key,

userpass varchar(15) not null

)

插入一条记录:

insert into users values('user1','pass1')

再创建一个表:

create table roles(

username varchar(15) not null references users(username),

rolename varchar(15)

)

再插入一条记录:

insert into roles values('dd','ddd')

安分驷皋雁皓孟菑员缴功恪简歧悌燕烁邰战舆颟

1、mysql强制使用主键索引

2、强制指定一个特定索引

3、同时指定两个

4、在多个表join中强制使用索引

select * from table ignore index(PRI) limit 2(禁止使用主键)

select * from table ignore index(idx) limit 2(禁止使用索引”idx”)

select * from table ignore index(PRI,idx) limit 2(禁止使用索引”PRI,idx”)

force index 不建议使用,如果数据量有变化,指定的索引可能不是最佳的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5916987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存