mysql optimization
Sep 7, 2015
mysql
MySQL优化
优化目的
- 避免出现页面访问错误
- 数据库timeout产生5xx错误
- 慢查询造成页面无法加载
- 阻塞造成数据无法提交
- 增加数据库稳定性
- 优化用户体验
优化方向
- SQL及索引
- 数据库表结构
- 系统配置
- 硬件
成本由低到高,效果由高到低
如何发现有问题的SQL
- show variables like ‘slow_query_log’
- set global slow_query_log_file=’/home/mysql/sql_log/mysql-slow.log’
- set global log_queries_not_using_indexes=on
- set global long_query_time=1
慢查日志格式
-
Time: 150907 21:41:20
-
User@Host: root[root] @ localhost [127.0.0.1] Id: 11
-
Query_time: 0.001000 Lock_time: 0.000000 Rows_sent: 200 Rows_examined: 200
- SET timestamp=1441633280;
- select * from actor;
- 查询执行时间
- 执行SQL主机信息
- SQL执行信息
- SQL执行时间
- SQL内容
慢查日志分析工具
- mysqldumpslow