简单谈谈MySQL优化利器-慢查询
作者:狼骑舞者 时间:2024-01-28 02:30:33
慢查询
首先,无论进行何种优化,开启慢查询都算是前置条件。慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标。
检查慢查询是否开启
通过show variables like 'slow_query_log'
这条语句,可以找到慢查询的状态(On/Off)。
开启慢查询
本文使用的MySQL版本:MariaDB - 10.1.19,请注意,不同版本的MySQL存在差异。
在[mysqld]下加入:
[mysqld]
port= 3306
slow-query-log=1 # 慢查询:确认开启
slow-query-log-file="D:/xampp/mysql/log/mysql-slow.log" # 慢查询:日志文件及路径
long_query_time = 5 # 慢查询:指定超过5s仍未完成的语句,为执行过慢的语句
优化步骤
观察日志,锁定需要优化的目标语句。注意SQL的设置,譬如:SQL_NO_CACHE
。
关注复杂语句写法。复杂语句本身具备高自由度,再加上SQL语法的特殊性,导致了不同的写法的同功能复杂语句,可能具备云泥之别的效率。
明确应用场景,尽管我们在各种场合都有原则,但实际上,如果能够明确应用场景,我们能够针对当前情况,做出本地化的高效优化。
无法优化的语句,当我们通过上述两种方法,以及更多未被本文提及的优化方法之后,可能还是会面对优化失败的情况。业务层面不做出修正的话,数据层面的确是无力可使。
结语
当打出“无法优化”的时候,不禁想到了我所喜爱的游戏设计行业。
如果你了解一二,就会发现,游戏设计中,其实有相当多的优秀设计,但大多数都困窘于当时当地的技术水平,而无法实现多彩纷呈的游戏设计。
也还记得去年做UI的朋友跟我吐槽:我就怕我设计的出来,很炫酷或者很人文,可前端根本实现不了那种设计。
标签:MySQL,慢查询


猜你喜欢
MySQL索引最左匹配原则实例详解
2024-01-27 18:38:05

Go语言使用HTTP包创建WEB服务器的方法
2024-02-19 22:33:41

SQLSERVER数据库备份后无法还原的解决办法
2024-01-21 14:05:01
ASP怎么读取指定xml 的节点
2008-04-28 13:12:00
详解Visual Studio中Git的简单使用
2022-05-25 13:22:04

Python爬取腾讯视频评论的思路详解
2021-05-30 23:04:43

python Django的显示个人信息详解
2021-10-09 15:47:14

Python求算数平方根和约数的方法汇总
2021-12-08 18:03:39
用javascript结合Cookies记录浏览历史
2008-02-12 12:37:00
Python学习之流程控制与条件判断总结
2023-08-20 13:37:02

Oracle中返回结果集的存储过程分享
2012-07-11 15:50:16
Python编程求质数实例代码
2021-12-03 23:17:18

Python使用pyautocad+openpyxl处理cad文件示例
2022-05-24 11:44:18
MySQL内部临时表的具体使用
2024-01-20 13:09:54

Python中修改字符串的四种方法
2021-08-05 20:40:23
JavaScript实现图片自动加载的瀑布流效果
2024-06-05 09:13:43

Python多层装饰器用法实例分析
2023-08-20 07:34:35
2021年的Python 时间轴和即将推出的功能详解
2023-07-14 22:32:04

Python练习之读取XML节点和属性值的方法
2021-03-25 19:01:06

python 已知三条边求三角形的角度案例
2022-09-06 01:18:41