sql分析(查询截取分析做sql优化)
目录mysqldump的使用(慢查询分析) 杀死用户 视图 1.开启慢查询日志2.先找到慢查询日志找到common.sock文件里面就是慢查询日志 3.使用日志分析工具像我们一般分析sql优化就可以使用该日志分析 比如:查找最慢的三条3. 查到对应的sql之后再去集中处理,可以去sql控制台中explain该sql,然后进行sql索引优化 工作常用参考:只负责展示,不需要发布程序1.创建视图2.创
·
目录
mysqldump的使用(慢查询分析)
1.开启慢查询日志
SHOW VARIABLES LIKE 'slow_query_log';
#开启慢查询日志
SET GLOBAL slow_query_log=1;
#慢查询的阈值
SHOW VARIABLES LIKE 'long_query_time';
SET long_query_time=0.1
2.先找到慢查询日志
cd /var/lib/mysql
找到common.sock文件里面就是慢查询日志
3.使用日志分析工具
mysqldumpsslw --help
像我们一般分析sql优化就可以使用该日志分析
比如:查找最慢的三条
mysqldumpslow -s c -t 3 -a
3. 查到对应的sql之后再去集中处理,可以去sql控制台中explain该sql,然后进行sql索引优化
mysqldumpslow参数分析
工作常用参考:
得到返回记录集最多的10个SQL
mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log
得到访问次数最多的10个SQL
mysqldumpslow -s c -t 10 /var/lib/mysql/atguigu-slow.log
得到按照时间排序的前10条里面含有左连接的查询语句
mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/atguigu-slow.log
另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现爆屏情况
mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log | more
杀死用户
#查看用户进程
SHOW PROCESSLIST
KILL 3
视图
只负责展示,不需要发布程序
1.创建视图
CREATE VIEW view_name
AS
SELECT column_name(s)
FROM table_name
WHERE condition
2.创建完视图后,我们以后的查询直接在视图中查询即可(本身这个视图里面封装的就是我们的sql)
查看视图
DELIMITER $$
ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `view_test` AS
SELECT
`t_emp`.`id` AS `id`,
`t_emp`.`name` AS `name`,
`t_emp`.`age` AS `age`,
`t_emp`.`deptld` AS `deptld`,
`t_emp`.`empno` AS `empno`
FROM `t_emp`$$
DELIMITER ;
根据视图进行查询得到数据
SELECT * FROM view_test
更多推荐
所有评论(0)