今天碰到了两个表做关联查询的mysql,这两个表的数据量都是特别大的,有一个表的数据是上亿条的数据,有一个是几百万的数据,
查询的速度是特别慢,然后我看了一下执行计划,下面是执行执行计划:
看到上面这个图这个数据量是特别大的,这个查询起来的肯定是非常慢的,而且他的类型都是ALL类型,也就是都是全表进行扫描的。然后在网上找资料,然后发现我们可以给关联的字段建索引。
于是我给关联字段建立了索引,然后就发生了下面的变化:
整个的行数就成不知道多少个数量级的情况在下降,整个的查询速度也是加快了额很多,现在查出数据只要几十毫秒的速度,真的不敢想象。
具体给数据字段建立所以,以及为啥会发生这样的变化,详细参考下面的的连接:
https://www.cnblogs.com/zedosu/p/6555981.html
从上面的例子可以看出,我们所写的sql当有语句进行优化的时候,查询速度是非常快的。除了给字段建立索引的方式之外,我们还可以通过其他的方式对我们的sql进行优化,来减少查询的时间。