• 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

  • 相关阅读:
    C# 连接SQL Sever 数据库
    路径分析—QGIS+PostgreSQL+PostGIS+pgRouting(一)
    快速搜索多个word、excel等文件中内容
    联邦学习-Tensorflow实现联邦模型AlexNet on CIFAR-10
    一篇了解全MVCC
    221. 最大正方形
    在Vue+Ts+Vite项目中如何配置别名指向不同的目录并引用
    mosquitto2.0.14 windowsx64配置说明
    第K个语法符号
    PROSAIL模型前向模拟与植被参数遥感提取代码实践
  • 原文地址:https://blog.csdn.net/weixin_57128596/article/details/125481015