zoukankan      html  css  js  c++  java
  • SQL优化学习笔记(一)

    1.通过 show status 命令了解各种SQL的执行频率

    通过 SHOW [SESSION|GLOBAL] STATUS 命令查看服务器状态信息
    SESSION 级即当前连接的统计结果;
    GLOBAL级显示自数据库上次启动至今的统计结果。
     
    Com_xxx 表示每个xxx语句执行的次数,通常关心的几个统计参数是:
    1 Com_select: 执行SELECT操作的次数,一次查询只累加一次;
    2 Com_insert: 执行INSERT操作的次数, 对于批量插入的INSERT操作,只累加一次;
    3 Com_update: 执行UPDATE操作的次数;
    4 Com_delete: 执行DELETE操作的次数

     Innodb_xxx 是针对存储Innodb存储引擎的:

    1 Innodb_rows_deleted:执行DELETE操作删除的行数;
    2 Innodb_rows_inserted:执行INSERT操作删除的行数;
    3 Innodb_rows_read:SELECT查询返回的行数;
    4 Innodb_rows_updated:执行UPDATE操作删除的行数

    通过以上这些参数,可以比较清晰的明白当前数据库是以插入更新为主还是以查询操作为主,以及各类SQL大致的执行比例是多少。

    对于更新操作的计数,是对执行次数的统计,不论提交和回滚都会进行累加。事务型的应用,通过Com_commit 和 Com_rollback 可以了解到事务提交和回滚的情况。

    以下几个参数可以了解到数据库的基本情况:

    1 Connections : 试图连接MySql服务器的次数;
    2 Uptime:服务器工作时间;
    3 Slow_queries:慢查询次数

    定位执行效率较低的SQL语句的方法:

    1) 通过慢查询日志定位那些执行效率较低的SQL(慢查询日志是在查询结束以后记录的);

    2) 使用 SHOW PROCESSLIST; 命令查看当前Mysql在进行的线程。

    欢迎转载,转载请注明出处 https://www.cnblogs.com/waiting-ying/p/12934277.html

  • 相关阅读:
    内核中的内存都不分页
    SQL Server 变更数据捕获(CDC)
    FPGA视频拼接器的放大和缩小功能
    Button的Click事件与js函数的两种不同顺序触发方式
    STM32系列ARM单片机介绍
    开源ETL工具kettle--数据迁移
    hdu 2846 Repository
    LeetCode 231:Power of Two
    hdu 4628 Pieces(状态压缩+记忆化搜索)
    MongoDB 数据库下载和安装
  • 原文地址:https://www.cnblogs.com/waiting-ying/p/12934277.html
Copyright © 2011-2022 走看看