• 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

  • 相关阅读:
    Haproxy
    java基于springboot+vue企业预算管理系统
    jetson 裁剪之后从sd卡版本移植到emmc版本
    buuctf web [极客大挑战 2019]Secret File
    常见js面试题
    java 自动加密解密RequestBodyAdvice和RequestBodyAdvice
    实验一、综合实验【Process on】
    父组件与子组件的属性透传
    今天步行数7000多
    保腿还是保命,这是个问题
  • 原文地址:https://blog.csdn.net/weixin_57128596/article/details/125481015