最近遇到一个奇怪的问题,在公司一台服务器(192.168.1.61)上安装的mysql5.7, 将其中的一个数据库(test),使用navicat同步到另一台服务器(192.168.1.62)上(同样的mysql版本), 在test库中,有张表record,表中大约有300W条记录。在1.61上执行select count(1) from record, 执行时间大约在2秒。而在1.62上执行select count(1) from record,执行时间竟然达到惊人的30秒。 问了度娘好久,回复的都是些关于如何优化sql语句的文章。就在自己焦头烂额、准备大骂一场的时候, 突然发现一篇文章:说是需要再给该表的主键,创建索引。本着死马当活马医的精神,尝试了一下, 奇迹竟然出现了:为主键创建索引后,执行count(1)的时间,竟然降到了1秒左右。 真可谓,山重水复疑无路,柳暗花明又一村。 高兴之余,仍有疑惑。至于具体原因, 实在搞不懂:操作系统一致、mysql版本一致、数据库一致,竟然有这种问题。 用了这么多年的mysql数据库,可是头一次遇到。 CSDN的各位大神们,有没有遇到同样的情况的,希望不吝赐教!