结果中的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 不建议使用,如果数据量有变化,指定的索引可能不是最佳的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)