关于mysql当中给数据量特别大的两个表做关联查询的时候解决查询速度很慢的解决方法
Posted gxg123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mysql当中给数据量特别大的两个表做关联查询的时候解决查询速度很慢的解决方法相关的知识,希望对你有一定的参考价值。
今天碰到了两个表做关联查询的mysql,这两个表的数据量都是特别大的,有一个表的数据是上亿条的数据,有一个是几百万的数据,
查询的速度是特别慢,然后我看了一下执行计划,下面是执行执行计划:
看到上面这个图这个数据量是特别大的,这个查询起来的肯定是非常慢的,而且他的类型都是ALL类型,也就是都是全表进行扫描的。然后在网上找资料,然后发现我们可以给关联的字段建索引。
于是我给关联字段建立了索引,然后就发生了下面的变化:
整个的行数就成不知道多少个数量级的情况在下降,整个的查询速度也是加快了额很多,现在查出数据只要几十毫秒的速度,真的不敢想象。
具体给数据字段建立所以,以及为啥会发生这样的变化,详细参考下面的的连接:
https://www.cnblogs.com/zedosu/p/6555981.html
从上面的例子可以看出,我们所写的sql当有语句进行优化的时候,查询速度是非常快的。除了给字段建立索引的方式之外,我们还可以通过其他的方式对我们的sql进行优化,来减少查询的时间。
以上是关于关于mysql当中给数据量特别大的两个表做关联查询的时候解决查询速度很慢的解决方法的主要内容,如果未能解决你的问题,请参考以下文章
关于多对多关系表做一个级联更新的问题(MYSQL),求高手解答SQL语句