1.从服务器硬件考虑
2.通过对缓存的设置
3.对索引进行优化
4.对sql语句进行优化
5.通过对配置文件来优化
首先要知道mysql的运行状况
show status;
show status like ‘com_select%‘
show status like ‘com_insert%‘
show status like ‘com_update%‘
可以判断写多或读多,从而根据实际情况来更改存储引擎。
查询使用时间 单位s
show global STATUS like ‘%uptime%‘
查看当前连接数
show GLOBAL status like ‘%connections%‘
show processlist;
系统最大连接数: 并发量
show variables like ‘%max_connections%‘
慢查询
查询时间超过了一定的标准,这样的标准叫做慢查询,默认为10秒
查看系统默认慢查询标准
show variables like ‘%long_query%‘
更改慢查询系统标准
set long_query_time = 值
首先我们得知道 查找慢查询语句
必须要开启慢查询日志,所有的慢查询语句都会记录到日志里
查看是否开启慢查询日志
show variables like ‘%slow_query_log%‘
索引不生效情况
1.多列索引(a,b),查询时where语句如果不包含a,索引不生效
2.在使用模糊查询时,like %是不能在最左侧的 否则索引不生效
3.如果在使用or作为连接符时,如果一边没有索引,索引不生效
sql语句优化
1.尽可能把多条语句写成一条语句。
2.查询时,尽可能把重复性的语句合并。
3.数据类型 小的够用旧不用选择大的,能用enum旧不要使用vachar/CHAR
数据越小,mysql处理的就越快
字段的类型尽量设置为not null
4.想提高插入输入的速度,要先删除索引后,然后插入数据,最后在添加索引。
5.批量添加数据要比一条条添加数据的速度要快。