MySQL修改配置优化插入性能
Posted maluscalc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL修改配置优化插入性能相关的知识,希望对你有一定的参考价值。
1.将innodb_flush_log_at_trx_commit配置为0。插入速度会有很大提高。
0:log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作。 优缺点:该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。 1:每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去,该模式为系统默认。 优缺点:该模式是最安全的,但也是最慢的一种方式。在mysqld 服务崩溃或者服务器主机crash的情况下,binary log 只有可能丢失最多一个语句或者一个事务。 2:每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘)操作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘)操作。 优缺点:该模式速度较快,也比0安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。
2.将innodb_autoextend_increment配置由默认8M调整为128M。该项为数据库的表空间耗尽时自动扩展的大小。
3.将Innodb_log_buffer_size配置由默认1M调整到16M。增大日志缓存,减少写数据文件次数。
4.将innodb_log_file_size配置由默认8M调整128M。设定undo日志大小,减少数据库checkpoint操作。
5.将max_allowed_packet配置由默认4M调整为16M。该项为服务器发送和接受的最大包长度,如果一次过插入的数据量大于该值会被拒绝,报错信息为“Packet for query is too large”。
以上是关于MySQL修改配置优化插入性能的主要内容,如果未能解决你的问题,请参考以下文章