您的当前位置:首页正文

如何理解MySQL数据库的优化

2020-11-09 来源:易榕旅网

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

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对比

显示全文