如何通过MySQL自身的配置调整来优化MySQL性能,以缓解MySQL瓶颈问题。
MySQL调优分以下几部分:
1、MySQL配置参数调优
2、数据表索引调优
3、SQL语句调优
但是我们主要来看如何配合宝塔面板的功能来进行MySQL配置参数调整:
1、活动/峰值连接数:应适当增加max_connections
2、线程缓存命中率:适当增加thread_cache_size
3、索引命中率:适当增加key_buffer_size(如果数据库使用的是Innodb引擎,可忽略这一步)
4、Innodb索引命中率:建议适当增加innodb_buffer_pool_size(如果数据库没有使用Innodb引擎,可忽略这一步)
5、查询缓存命中率:如果使用redis、memcached等缓存软件时,将query_cache_size设为0将其关闭,当你没有使用缓存软件,有多余的内存使用,且数据库瓶颈明显存在时,可以尝试开启查询缓存,这是个非常依赖数据表结构及SQL语句优化的功能,若数据表结构和SQL语句都针对查询缓存进行过优化,它的效果还是很不错的。
6、创建临时表到磁盘:适当增加tmp_cache_size(视情况而定,并不一定起效)。
7、已打开的表:适当增加table_open_cache,但若设置过大可能导致您的程序频繁中断MySQL连接,建议在1024以内,最大不要超过2048。
8、没有使用索引的量、没有使用索引的JOIN量:若不为0,就检查下数据表索引吧,其实只要没有疯涨,比如一天增涨几千,一般可以忽略。
9、排序后的合并次数:适当增加sort_buffer_size,建议每次增加512,但最大不要超过8192(视情况而定,并不一定起效)。。
10、锁表次数:如果服务器CPU开销不大的情况下,疯狂锁表,建议你将所有数据表转换成innodb(转换前记得备份)。
★:保存参数配置后不会立即生效,需要重启MySQL服务。
本文转自B乎:阅读原文