我发现网站使用order by id desc的时候,效率很高,使用order by id desc,time desc 数据库cpu100%了
a.alter table table_name disable keys b.loading data c.alter table table_name enable keys 对于Innodb: a.将要导入的数据按照主键排序 b.set unique_checks=0,关闭唯一性校验 c.set autocommit=0,关闭自动提交
索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:
注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引
2.对于多列索引,不是使用的第一部分,则不会使用索引
3.like查询是以%开头
4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引
5.如果mysql估计使用全表扫描要比使用索引快,则不使用索引
此外,查看索引的使用情况
show status like ‘Handler_read%’;
mysql一次查询只能使用一个索引。如果要对多个字段使用索引,建立复合索引。
这个建议加(id, time)联合索引,可以使用Explain查看一下执行分析,可以帮助分析SQL,优化查询。
可以在order字段建索引。
其实用不用到索引,你可以通过在查询语句前加上关键字 explain或者desc ,然后你就可以看到了;上面字段的意思可以去百度查看;我记得有个字段是显示用的索引;自己试试吧