MySQL模糊查询关键字
文章来源:https://blog.csdn.net/qq_39390545/article/details/106414765原文作者:陈哈哈select * from table where us...
2024.11.15前言
应用系统性能测试过程中,性能优化是绕不开的话题,对测试人员而言,性能优化的第一站就是SQL语句的优化与分析。因此本文主要以MySQL数据库为例,介绍常见的慢查询SQL语句执行效率分析与优化方法和简单示例,为致力于应用系统性能优化的从业人员提供一定参考和借鉴。
1慢查询定位
(1)慢查询
慢查询SQL语句,即在数据库执行耗时超过一定阈值的SQL语句,常见阈值为500~2000ms,可根据业务需求适当调整。如存在大量慢查询语句会直接导致系统响应时间变长,降低用户体验感,因此慢查询的定位与优化是SQL语句优化的主要内容。
慢查询调优的第一步是准确定位慢查询语句,需要数据库开启慢查询日志记录功能,然后借助工具对日志进行分析实现慢查询SQL语句的准确定位。
--慢查询开启状态、日志位置
show variables like`slow_query%`;
--慢查询命中时长
show variables like`long_query_time`;
(2)mysqldumpslow慢查询日志分析
MySql数据库的慢查询SQL语句,可以借助mysqldumpslow工具进行分析;其他类型数据库,可根据官方提供的技术文档采用对应的工具开展慢查询日志分析。
慢查询日志分析的常用参数说明如下:
例:用时最多的10条慢SQL(后半部分为slow_query_log_file地址)
sql mysqldumpslow-s t-t 10-g‘select‘/data/mysql/data/dcbi-3306/log/slow.log
2 SQL语句执行分析
(1)SQL执行顺序
分析SQL语句执行效率的第一步,需要了解一条SQL语句的执行顺序,从而为语句优化提供依据。一般而言,执行顺序为:
from->where->group by->聚合函数(sum、avg)->having->计算公式->select字段->order by->limit
(2)explain关键字
SQL语句执行分析可通过在SQL语句前添加“explain”关键字后,在数据库编辑器中执行查看语句具体的执行情况。
explain select*from table_name where columns_1=value_1 and columns_2=vales_2
(3)SQL执行计划返回结果说明
返回结果各列说明可按需查询相关资料,重点关注【type】、【ref】、【extra】反映查询效率的3列,以【type】为主即可。
(4)SQL执行效率分析
explain语句根据【type】列的值判断SQL执行效率,效率从低到高依次为:
all
文章来源:https://blog.csdn.net/qq_39390545/article/details/106414765原文作者:陈哈哈select * from table where us...
2024.11.15一、排序排序查询语法:select * from 表名 order by 列1 asc/desc [,列2 asc/desc,...]语法说明:先按照列1进行排序,如果列1的值相同时,则按照列2排序a...
2024.11.12MySQL内置了慢查询日志,默认情况下慢查询日志是禁用的,首先你要打开my.cnf文件并将slow_query_log变量设置为“On”,这其中还有两个很重要的参数需要设置,long_query_ti...
2024.11.14概述分享一下mysql常用的一些统计语句,仅供参考。常用统计语句1、查询指定SQL的trace信息mysql -uroot -p -e "\use lcpdb1; \set session optim...
2024.11.13概述mysql慢查询日志是mysql提供的一种日志记录,它是用来记录在mysql中相应时间超过阈值的语句,就是指运行时间超过long_query_time值的sql,会被记录在慢查询日志中。long_...
2024.11.12