答:不会的,是设置不对。
首先我们对这条sql执行查询计划:发现这条语句应用的索引居然是key_sync_status,而不是主键,这就是问题的关键所在了!
为了进一步确定,再对下面的sql语句执行查询计划:发现使用where条件后,索引变成了主键。
解决方案
1、order by 索引(where条件中引用的索引)。
2、强制使用主键:FORCE INDEX(PRI),如果想强制使用索引,则用FORCE INDEX(索引名)。
首先纠正一楼,索引不一定快,在数据不多的时候,索引反而会托慢查询速度。其次,系统一般会自动为主键建立唯一索引,但不能说明主键就是一个索引。
再次,主键的值一般不是按字母、数字的顺序排列的,而为其建立索引就是为了克服为一缺陷(索引的值是按顺序排列的)
最后,自增主键就算不建索引的话,速度也不会慢的,因为它的值是按顺序排列的,系统肯定会一个机制来提高查询速度的。
综上可知,自增主键是更快的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)