今天遇到了一个问题,有一个Select语句执行超慢,在加了Index之后依然超慢。
数据库是MySQL,表a中有数据4000条,表b中有数据14000条
Select语句为select count(*) from a left join b on a.id=b.id (语句1)
执行时间为30秒
如果将Select语句改为select count(*) from b left join a on a.id=b.id (语句2)
执行时间为0.0X秒
原因让人很无语,a表的id列的COLLATE为utf8_bin,b表的id列的COLLATE为空!
这也给我一个教训,以后再有使用MySQL的项目的话,数据库中所有列的COLLATE最好都统一成utf8_bin。
数据库是MySQL,表a中有数据4000条,表b中有数据14000条
Select语句为select count(*) from a left join b on a.id=b.id (语句1)
执行时间为30秒
如果将Select语句改为select count(*) from b left join a on a.id=b.id (语句2)
执行时间为0.0X秒
原因让人很无语,a表的id列的COLLATE为utf8_bin,b表的id列的COLLATE为空!
这也给我一个教训,以后再有使用MySQL的项目的话,数据库中所有列的COLLATE最好都统一成utf8_bin。