• sql分析(查询截取分析做sql优化)


    目录

    mysqldump的使用(慢查询分析) 

    杀死用户

     视图


     

    mysqldump的使用(慢查询分析) 

    1.开启慢查询日志

    1. SHOW VARIABLES LIKE 'slow_query_log';
    2. #开启慢查询日志
    3. SET GLOBAL slow_query_log=1;
    4. #慢查询的阈值
    5. SHOW VARIABLES LIKE 'long_query_time';
    6. 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参数分析

     工作常用参考:

    1. 得到返回记录集最多的10SQL
    2. mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log
    3. 得到访问次数最多的10SQL
    4. mysqldumpslow -s c -t 10 /var/lib/mysql/atguigu-slow.log
    5. 得到按照时间排序的前10条里面含有左连接的查询语句
    6. mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/atguigu-slow.log
    7. 另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现爆屏情况
    8. mysqldumpslow -s r -t 10 /var/lib/mysql/atguigu-slow.log | more

    杀死用户

    1. #查看用户进程
    2. SHOW PROCESSLIST
    3. KILL 3

     视图

    只负责展示,不需要发布程序 

     1.创建视图

    1. CREATE VIEW view_name
    2. AS
    3. SELECT column_name(s)
    4. FROM table_name
    5. WHERE condition

    2.创建完视图后,我们以后的查询直接在视图中查询即可(本身这个视图里面封装的就是我们的sql)

    查看视图

    1. DELIMITER $$
    2. ALTER ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `view_test` AS
    3. SELECT
    4. `t_emp`.`id` AS `id`,
    5. `t_emp`.`name` AS `name`,
    6. `t_emp`.`age` AS `age`,
    7. `t_emp`.`deptld` AS `deptld`,
    8. `t_emp`.`empno` AS `empno`
    9. FROM `t_emp`$$
    10. DELIMITER ;

    根据视图进行查询得到数据

    SELECT * FROM view_test

  • 相关阅读:
    Docker 哲学 - 容器操作 -cp
    撸了一个简易的配置中心,顺带整合到了SpringCloud
    Qt 事件循环
    Python脚本之并发执行加密方法【一】
    艾美捷ProSci丨ProSci ST2 抗体说明书
    Aspectj与SpringAOP比较记录
    golang context原理
    Java SE 14 新增特性
    java毕业设计物资租赁管理系统mybatis+源码+调试部署+系统+数据库+lw
    手撕排序算法:选择排序
  • 原文地址:https://blog.csdn.net/weixin_57128596/article/details/125481015