- Mysql优化思路:分成服务优化,表结构优化,索引优化,查询优化
- 服务优化:监控Mysql的锋值是否是有规则的波动
show stauts 查看Mysql的运行状态
第三方插件记录 运维脚本监控
-
有规则的波动
解决方案,加缓存 更改缓存失效策略:1、分散失效时间;2、夜间定时失效
- 无规则波动
4.1 开启慢查询slow_query_log=on slow_query_log_file=/slow_query.log long_query_time=2
4.2
show processlist
//查看进程
4.3 profiling记录语句执行时间0) show variables like 'profiling%'; //查看是否开启profiling 1) set profiling=1; //开启记录sql执行时间 2) show profiles; //查看执行语句记录 3) show profile cpu,block io for query ID; //查看sql执行过程 ALL;显示所有的开销信息 BLOCK IO:显示块IO相关开销 CONTEXT SWITCHES:上下文切换相关开销 CPU:显示CPU相关开销 IPC:显示发送和接受相关开销 MEMORY:显示内存相关开销 PAGE FAULTS:显示页面错误相关开销 SOURCE:显示和Source_function, Source_file,Source_line相关的相关开销 SWAPS:显示交换次数相关开销
4.4 explain分析语句 //分析sql语句执行信息