MySQL慢查询优化

我要开发同款
Zypom962023年04月25日
95阅读
所属分类技术优化

作品详情

随着业务的不断增长,系统数据随之增加,以前的数据库和功能设计并没考虑到大数据的情况,导致系统的慢查询 SQL 越来越多,系统经常因此瘫痪,尤其销售在搞活动时,严重影响公司业务运行,平均1个月1-2次就会瘫痪一次,阿里云的数据付服务器CPU资源经常在80%以上。通过一系列办法将CPU保持在20%以下。下面是一些常用的解决办法:
1、ERP 列表页默认加载全部数据,导致扫描全表,解决方法:默认不展示或者展示小部分数据
2、索引失效,这里面又分很多种,比如模糊查询、索引数据超过总数据20%、字段使用了函数、varchar 字段没加引号等。这种就属于第二种比较难修复,可以联合其他字段建立索引,减少查询数据量,使其命中索引
3、 索引字段触发重新扫描,一般出现在 order by 字段与命中索引字段不一致产生,统一一下就可以解决。
5、 统计类的 SQL 导致慢查询,这种最不好修复,里面一般会链多张表查询,而且表的数据量特别大,解决方案一种是建立一张汇总表,这种比较费时费力,但是很有效,一种是数据独立库,不影响主库1、ERP 列表页默认加载全部数据,导致扫描全表,解决方法:默认不展示或者展示小部分数据
2、索引失效,这里面又分很多种,比如模糊查询、索引数据超过总数据20%、字段使用了函数、varchar 字段没加引号等。这种就属于第二种比较难修复,可以联合其他字段建立索引,减少查询数据量,使其命中索引
3、 索引字段触发重新扫描,一般出现在 order by 字段与命中索引字段不一致产生,统一一下就可以解决。
5、 统计类的 SQL 导致慢查询,这种最不好修复,里面一般会链多张表查询,而且表的数据量特别大,解决方案一种是建立一张汇总表,这种比较费时费力,但是很有效,一种是数据独立库,不影响主库
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论