Mysql 架构及优化之-Sql语句优化步骤

查看mysql状态及配置

show status 查看当前链接的服务器状态mysql

show global status 查看mysql服务器启动以来的状态
show global variables 查看mysql服务器配置的变量sql

  • 增删改的统计vim

查看 insert delete update select查询总数
show global status like "com_insert%" segmentfault

clipboard.png

show global status like "com_delete%" 服务器

clipboard.png

show global status like "com_update%" spa

clipboard.png

show global status like "com_select%" 日志

clipboard.png

  • Innodb影响行数code

show global status like "innodb_rows%";索引

clipboard.png

  • mysql链接总次数ip

show global status like "connection%";
包括成功和不成功的链接
clipboard.png

  • mysql已经工做的秒数

show global status like "uptime%";

clipboard.png

  • 查看mysql慢查询次数

show global status like "%slow%";

clipboard.png

  • 查看慢查询日志相关设置

show global variables like "%slow%";
log_slow_queries = on slow_query_log = on 代表慢查询日志已经开启
slow_query_log_file 慢查询日志文件的路径
clipboard.png

show global variables like "%long_query%";
查看慢查询执行时间粒度

clipboard.png

mysql常规日志开启配置

  • 配置my.conf

general_log = on                                                               
general_log_file = /home/mysql-run/mysql.log

clipboard.png
代表日志已经开启

慢查询日志开启配置

  • 配置my.conf

vim /etc/my.cnf

slow-query-log = on 
slow_query_log_file  =  /home/mysql-run/mysql_slow.log
long_query_time = 10  #慢查询执行时间记录粒度 默认是10秒
log_queries_not_using_indexes = off #记录没有使用索引的查询 不论执行有多块
  • 查看慢查询日志

cat mysql_slow.log

clipboard.png

解释执行效率较低的sql

  • exiplain sql

或者使用desc sql

clipboard.png

select_type : 单表查询
rows: 查询扫描的行数
key:用到的索引
key_length:用到的索引的长度
extra: using index 表示使用索引过滤掉不须要的行

分析表索引

myisam 索引存放于 .MYI文件中 与数据文件.MYD 分开 myisam索引能够压缩
Innodb表中索引和数据存放同一个文件中共享表空间

更多索引相关知识请点击:http://www.javashuo.com/article/p-xobdpkqp-cx.html

相关文章
相关标签/搜索