MySQL LeftJoin性能调优(1)

今天在测试项目的时候发现,查询数据很慢。但是这个项目才上线,里面数据量不大,为什么慢呢?分析步骤如下:

首先,确认数据量。经过查询,A表95条,B表14000条。现在只查询A表的数据。

其次,检查查询条件对应所在表的索引。于是,发现A表索引错误,条件的索引没有。于是增加条件索引,一查询,4秒?天啊。这是什么情况?索引无效?SQL也没有全表扫描,也没有or等影响索引的写法。

紧接着分析,查询编码是否一致。问题出现了,B表的类型为utf8mb4,A表类型为utf8。那么问题来了。

动手,马上把所有字段类型统一进行修改为utf-8。

再次运行SQL,速度一下就快起来了,0.03秒数据出来。

总结:数据查询慢

1、检查数量看下SQL是否复杂

2、检查是否有索引,是否有让索引失效的字段

3、检查字符集是否一致

4、检查服务器的读写速度,CPU,网络等原因。

欢迎大家留言补充。

为您推荐

Leave a Reply

Your email address will not be published.