常常遇到大数据量频繁读写势必会导致服务器的性能下降。下面记录一下对mysql的优化配置
1.首先关闭auto commit。
2.对于数据表使用InnoDB。
3.关闭外键约束。
4.采用多值插入“INSERT INTO 表名 VALUES (1,2), (5,5), ...;” 如果有大量并发可以用更改INSERT INTO为 INSERT DELAYED INTO可以在程度上解决阻塞问题。
5.日志文件设置的大一点, 但日志缓冲设定要适当。
6.加大buffer pool 。
innodb_buffer_pool_size = 600M(最好小于等于机器内存的75%不要超过)。
innodb_additional_mem_pool_size = 64M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 256M
#innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50
innodb_file_per_table
其中innodb_flush_log_at_trx_commit和innodb_file_per_table对I/O性能影响最大