Mysql数据库10万条数据多表联合查询速度过慢解决方案

点我,查看原文

问题描述

今天在写项目时发现之前好好的查询接口突然挂了????,检查后发现原来是有人往数据里新增了10万条数据,以至于Mysql语句执行的特别慢就不行了。

原因

原因也简单这个接口原本是一张组织机构表关联区域表、组织标准类型表、币种表、行业分类标准表等多张表的联合查询。按照下图的写法已经写了limit分页只取10条,可Mysql确实会很认真的先帮你把10万条数据的外键关系先建立起来,然后在拿最上面的10条给你。emmmmm……????????
Mysql数据库10万条数据多表联合查询速度过慢解决方案
所以数据量一旦多起来后,Mysql的遍历查询结果就不尽人意,10万条语句这一次查询差不多就要3分多钟。

解决思路

解决思路也很简单,我目前想到的做法就是在Mysql与关联表进行关联操作之前,先通过分页、查询条件、约束等减小它的范围。简单点说就是,先查再建视图

实际步骤

直接放优化后的语句叭
Mysql数据库10万条数据多表联合查询速度过慢解决方案

效果展示

最后再看看优化后的速度
Mysql数据库10万条数据多表联合查询速度过慢解决方案
0.083秒。恩……真香!????