数据库性能优化步骤

本文讲述了如何通过数据库排查和索引优化,将登录页面的响应时间从35秒缩短到5秒,重点介绍了慢查询分析、SQL优化和索引添加的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

把一个sql语句从120秒优化到0.002秒,把点击登录按钮跳转到首页面的时间从35秒优化到5秒内。
1、问题分析:
1.1、打开系统登陆页面,右击->检出->Network 。然后点击登录按钮等登陆完成并跳转到首页面后(大概耗时35秒),
查看Network 页面,发现有2个请求特别慢一个耗时10秒,一个耗时20秒。
初步分析是系统内部逻辑慢,或者数据库查询慢,又因为电脑重启,系统就会变快,所以优先排查数据库
2、数据库排查
2.1、查看慢查询相关参数
打开数据库管理工具->进入查询页面
执行 show variables like ‘slow_query%’;
结果显示slow_query_log为ON;证明慢SQL是开启状态,记录slow_query_log_file的文件名。
接着执行show variables like ‘long_query_time’;
结果显示long_query_time为10.000000;证明超过10秒的慢sql会记录到slow_query_log_file对应的文件中

2.2、分析慢日志
    在我的电脑中全局搜索slow_query_log_file的文件名查找文件
    通过分析慢SQL文件发现有一个sql请求很频繁、耗时很长,并且随着数据的增加耗时也在增加,目前单次查询耗时在120秒左右。  
    通过sql语句和数据结构的分析发现查询的表并没有加索引,然后根据经验尝试在查询字段加索引。
    加索引后单次查询耗时在0.002秒左右。 

3、测试
系统登陆从35秒降到5秒内,其他操作的相应速度也有明显的提示

4、进一步优化排查
打开数据库管理工具->进入查询页面
执行 set global slow_query_log_file=‘存放目录/slow_query.log’; 修改慢sql日志存放位置
执行 set global long_query_time=1; 把慢sql的记录时间从10秒改为1秒
执行 select sleep(3); 打开slow_query.log发现SQL已记录证明设置生效
操作整体系统,然后打开slow_query.log并没有记录新的数据,说明目前后台系统查询都小于1S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颢师傅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值