mysql000w数据根据主键查会慢吗

mysql000w数据根据主键查会慢吗,第1张

mysql000w数据根据主键查会慢吗?

答:不会的,是设置不对。

首先我们对这条sql执行查询计划:发现这条语句应用的索引居然是key_sync_status,而不是主键,这就是问题的关键所在了!

为了进一步确定,再对下面的sql语句执行查询计划:发现使用where条件后,索引变成了主键。

解决方案

1、order by 索引(where条件中引用的索引)。

2、强制使用主键:FORCE INDEX(PRI),如果想强制使用索引,则用FORCE INDEX(索引名)。

首先纠正一楼,索引不一定快,在数据不多的时候,索引反而会托慢查询速度。

其次,系统一般会自动为主键建立唯一索引,但不能说明主键就是一个索引。

再次,主键的值一般不是按字母、数字的顺序排列的,而为其建立索引就是为了克服为一缺陷(索引的值是按顺序排列的)

最后,自增主键就算不建索引的话,速度也不会慢的,因为它的值是按顺序排列的,系统肯定会一个机制来提高查询速度的。

综上可知,自增主键是更快的。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存