网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

常见的4种方法解决MySQL查询慢

第一种:分页查询(框架自带的分页查询)

1)这种框架自带的分页方法,有时候数据量一多就会比较慢,所以一定要自己些查询sql语句。 我在项目中就遇到一个这样的问题,两个表关联分页查询,因为我使用的是inner join进行的关联,导致仅有43万的数据,查询了5秒多,后改为left join,用时1.2秒!

第二种:添加索引

根据查看执行计划,对查询条件添加对应的索引!

第三种: 使用limit

如果你知道查出来的数据的条数,就可以使用limit numb; 我在项目中遇到了一个问题,两个表关联查询,因为数据量很大,所以查询速度很慢,但是我知道只会查出一条数据,我就使用了 select * from table where code = xxxx limit 1; 速度仅用了不到1秒;

第四种: 分页查询(自己获取limit的起始位置)

框架的分页查询,必然会有count查询,因为他要计算总页数,但是这样有时候会导致查询比较慢。我们可以和前端约定好,不展示页码,只保留上一页和下一页。这样我们就可以通过计算页码的起始位置和结束位置来自己分页查询了。

举例:

// 获取起始位置

publicstaticIntegergetStartIndex(Integer pageNo,Integer pageSize){

return(pageNo -1) * pageSize;

sql:  select * from table limit startIndex, pageSize;


所以,我们在解决问题时候,要根据不同的业务场景,使用不同的办法解决。如果使用了分页还是慢的话,就要查看自己的MySQL语句是否有问题!通过查看执行计划进行分析。

创新互联还分享了4招MySQL慢查询问题排查方法


文章标题:常见的4种方法解决MySQL查询慢
文章网址:http://bjjierui.cn/article/isgcpe.html

其他资讯