首页  >  文章  >  数据库  >  如何理解MySQL数据库的优化

如何理解MySQL数据库的优化

坏嘻嘻
坏嘻嘻原创
2018-09-14 14:43:291570浏览

分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。

SQL及索引优化

  如何发现有问题的SQL?


                使用MySQL慢查日志对有效率问题的SQL进行监控

show variables like 'slow_query_log'

set global slow_query_log_file = '/home/mysql/sql_log/mysql-show.log'

set global log_queries_not_using_indexs = on;

set global long_query_time = 1

  慢查日志的存储格式

# Time: 140606 12:30:17

// 执行SQL的主机信息
# User@Host: root[root] @ localhost[]

// SQL的执行信息
# Query_time:0.000031 Lock_time:0.000000 Rows_sent: 0 Rows_examined:0

// SQL 执行时间
SET timestamp = 1402029017

// SQL的内容
select CONCAT('storage engine:',@@storage_engine) as INFO;

慢查日志的分析工具

- mysqldumpslow 

- pt-query-digest 

如何通过慢查询日志发现有问题的SQL?

1. 查询次数多且每次查询占用时间长的SQL

通常为pt-query-digest分析的前几个查询

2.IO大的SQL

注意pt-query-digest分析中的Rows examine项

3.未命中索引的SQL       

注意pt-query-digest分析中Rows examine 和Rows Send对比

相关推荐:

mac使用终端运行mysql,mysql终端,mysql mac,mysql目录,mysql路径,macmysql

Mysql分区|mysql分区表|mysql partition|by range

以上是如何理解MySQL数据库的优化的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn