SQL调优带您涨薪资之慢查询定位大法

Posted 栗子~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL调优带您涨薪资之慢查询定位大法相关的知识,希望对你有一定的参考价值。

文章目录

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


SQL调优带您涨3k之慢查询定位大法

01 前期准备

限:mysql

CREATE TABLE `test` (
  `id` bigint(200) NOT NULL AUTO_INCREMENT,
  `age` varchar(200) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4;

INSERT INTO `testdb`.`test`(`id`, `age`, `name`) VALUES (1, '21', 'noTransactional');
INSERT INTO `testdb`.`test`(`id`, `age`, `name`) VALUES (3, '9879', 'noTransactional');
INSERT INTO `testdb`.`test`(`id`, `age`, `name`) VALUES (4, '24332', 'noTransactional');

CREATE TABLE `test_version` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `version` varchar(50) DEFAULT NULL COMMENT '版本号',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;

INSERT INTO `testdb`.`test_version`(`id`, `version`) VALUES (1, '1');

01::01 数据可视化


02 慢查询日志定位的作用

通过慢查询日志定位效率低的sql语句
注: 不是用来分析某个已知的语句。

03 配置相关信息

03::01、查看相关信息:

show VARIABLES like ‘%slow%’;

上面的信息是我配置后的。

03::02 配置日志相关信息

set global slow_query_log = on;
set global slow_query_log_file = ‘D:\\db-sql-slow.log’;
set global log_queries_not_using_indexes = on;

03::03 配置慢查询时间点

设置long_query_time的值,单位为妙,超过该数值的语句会被纳入慢查询日志。

set long_query_time = 0.00001;

这里设置成0.0001 妙,测试用。
查看是否配置成功:

show VARIABLES like ‘long%’;

04 测试慢查询定位效率低的sql

04::01 相关名词

序号名词含义
1Time日志记录的时间
2User@Host执行的用户及主机
3Query_time查询耗费时间
4Lock_time锁表时间
5Rows_sent发送给请求方的记录条数
6Rows_examined语句扫描的记录条数
7SET timestamp语句执行的时间点
8select …执行的具体语句

04::02 执行测试语句:

SELECT * from test_version o left join test p on o.id = p.id and p.id in(‘1’);

查看之前配值的日志地址,并打开

从上面截图,可以总结出:
SELECT * from test_version o left join test p on o.id = p.id and p.id in(‘1’);的执行时间超过0.00001,导致被记录在慢查询自定义日志中。

验证通过!!!

以上是关于SQL调优带您涨薪资之慢查询定位大法的主要内容,如果未能解决你的问题,请参考以下文章

SQL调优带您涨薪资-explian分析SQL执行计划并优化

SQL调优带您涨薪资-explian分析SQL执行计划并优化

干货实战-- sql调优之慢查询定位大法

干货实战-- sql调优之慢查询定位大法

python大法好——mysql防注入

定位日站大法之-社会工程学