SQL优化学习笔记(一)

 

 

1.经过 show status 命令了解各类SQL的执行频率html

经过 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存储引擎的:sql

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 能够了解到事务提交和回滚的状况。服务器

如下几个参数能够了解到数据库的基本状况:spa

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

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

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

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

 

欢迎转载,转载请注明出处 http://www.javashuo.com/article/p-tdluxoqd-by.htmlcode

相关文章
相关标签/搜索