MYSQL 优化
A 为什么要优化?
1 大并发 ,大量锁 会导致阻塞。
2 查询缓慢、查询超时、数据无法正常返回。
优化目的:数据库更加稳定、更加健壮、给用户更好的用户体验。
B 从哪几方面优化
硬件 (cpu 、io 、内存)。(成本最高,效果最差。)
系统配置 (tcp、ip ,文件数、权限)
数据表表结构 (*)
SQL 及索引 (*)
C 具体怎么优化
1 利用mysql 慢查询日志 “slow_query_log”。(
开启MySQL 慢查询日志"on"
)
show varialbes like 'slow_query_log'
2 慢查询日志文件 “slow_query_log_file" 。
set global slow_query_log_file='log/slow_query.log'
3
set global long_query_time=1
大于1秒记录慢查询日志中。
慢查询日志的格式:
# Time: 141112 18:20:05
# User@Host: root[root] @ localhost []
# Query_time: 0.000743 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1415787605;
select @@version_comment limit 1;
慢查日志分析工具(安装mysql 自带 mysqldumslow);
命令: mysqldumpslow /alidata/server/mysql/data/iZ25r7ysk46Z-slow.log