MySQL5.7参数调优

如题,表行数达到了67亿行

-- 查询数据库参数配置相关
-- C:\ProgramData\MySQL\MySQL Server 5.7\my.in
# InnoDB 缓存池大小 - 根据服务器总内存大小调整
innodb_buffer_pool_size=8G  # 假设服务器有16GB内存
# InnoDB 日志文件大小 - 较大的值可以减少日志切换频率
innodb_log_file_size=512M
# InnoDB 日志刷新策略 - 减少写操作频率
innodb_flush_log_at_trx_commit=2  # 每秒刷新一次日志到磁盘
# 查询缓存大小 - 对于写多读少的应用场景,建议关闭查询缓存
query_cache_size=0
# I/O 能力 - 对于机械硬盘,保持默认值或适度调整
innodb_io_capacity=100
# 禁用自适应哈希索引 - 在某些情况下可能导致性能下降
innodb_adaptive_hash_index=0
# 关闭二进制日志,除非需要复制功能
# skip-log-bin
# 增加表打开缓存大小
table_open_cache=2000
# 增加线程缓存大小(本地程序10足矣)
thread_cache_size=10
# 减少InnoDB后台线程的数量,降低对CPU和I/O的压力
innodb_purge_threads=1
# 控制临时表的最大大小,避免过多的磁盘I/O
tmp_table_size=64M
max_heap_table_size=64M
# 调整排序缓冲区大小
sort_buffer_size=2M
# 调整Join操作缓冲区大小
join_buffer_size=2M
# 调整读取数据缓冲区大小
read_buffer_size=1M
# 调整随机读取缓冲区大小
read_rnd_buffer_size=8M

查询是否生效

SHOW VARIABLES LIKE 'innodb_buffer_pool_size';
SHOW VARIABLES LIKE 'innodb_log_file_size';
SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit';
SHOW VARIABLES LIKE 'query_cache_size';
SHOW VARIABLES LIKE 'innodb_io_capacity';
SHOW VARIABLES LIKE 'table_open_cache';
SHOW VARIABLES LIKE 'thread_cache_size';
SHOW VARIABLES LIKE 'tmp_table_size';
SHOW VARIABLES LIKE 'max_heap_table_size';
SHOW VARIABLES LIKE 'sort_buffer_size';
SHOW VARIABLES LIKE 'join_buffer_size';
SHOW VARIABLES LIKE 'read_buffer_size';
SHOW VARIABLES LIKE 'read_rnd_buffer_size';

 

posted @ 2025-04-27 10:49  别动我的猫  阅读(84)  评论(0)    收藏  举报