关于mysql当中给数据量特别大的两个表做关联查询的时候解决查询速度很慢的解决方法

今天碰到了两个表做关联查询的mysql,这两个表的数据量都是特别大的,有一个表的数据是上亿条的数据,有一个是几百万的数据,

查询的速度是特别慢,然后我看了一下执行计划,下面是执行执行计划:

看到上面这个图这个数据量是特别大的,这个查询起来的肯定是非常慢的,而且他的类型都是ALL类型,也就是都是全表进行扫描的。然后在网上找资料,然后发现我们可以给关联的字段建索引。

于是我给关联字段建立了索引,然后就发生了下面的变化:

 

整个的行数就成不知道多少个数量级的情况在下降,整个的查询速度也是加快了额很多,现在查出数据只要几十毫秒的速度,真的不敢想象。

具体给数据字段建立所以,以及为啥会发生这样的变化,详细参考下面的的连接:

https://www.cnblogs.com/zedosu/p/6555981.html

从上面的例子可以看出,我们所写的sql当有语句进行优化的时候,查询速度是非常快的。除了给字段建立索引的方式之外,我们还可以通过其他的方式对我们的sql进行优化,来减少查询的时间。

 

posted on 2018-09-29 20:08  gxg123  阅读(22847)  评论(1编辑  收藏  举报

导航