MySQL 的参数配置调得好,性能能翻好几倍。张银奎这篇《MySQL 的主要参数设置》PDF 真是干货满满,尤其适合写 SQL 溜、但对配置略懵的小伙伴。像innodb_buffer_pool_size、innodb_log_file_size这些核心参数,讲得挺透。你要是遇到“线上快线下慢”的情况,真的得看看这些设置,是不是哪个地方没调好。
innodb_buffer_pool_size建议设置成你物理内存的 70%~80%,一般都能稳住开发和测试环境。还有那个innodb_log_file_size,默认的 5MB 太小了点,调到 256MB 起步会更靠谱。看起来复杂?其实你照着里面说的设置就行,挺实用的。
另一个值得注意的是innodb_flush_log_at_trx_commit,默认是 1,稳但慢。建议调成 2,写入更快,丢数据最多也就一秒。再加上sync_binlog设成 0,在开发环境下是个不错的选择,速度也能快不少。
还提到了大小写敏感的问题,lower_case_table_names=0
这点多人忽略了,Windows 上大小写不敏感,结果一到 Linux 就翻车。建议测试环境也用 Unix/Linux,和线上统一,免得踩坑。
,这篇文章挺适合平时只忙着写业务逻辑,但想搞懂 MySQL 底层运行的你。顺带附几个相关的优化技巧文章,也值得一看,像InnoDB 插件、页大小优化之类的,有时间可以翻翻。
如果你最近在调试 MySQL 性能,可以直接照着这几条来改配置,改完测试下效果,能不能飞起来你一试就知道。