Mysql数据库写入数据速度优化

泄露秘密 提交于 2020-03-18 14:33:08

Mysql数据库写入数据速度优化

1)innodb_flush_log_at_trx_commit 默认值为1;设置为0,可以提高写入速度。 
值为0:提升写入速度,但是安全方面较差,mysql服务器宕机可能会造成数据丢失。

值为1:每一次事务提交或者事务外的指令都需要把日志写入硬盘,此过程消耗时间较长;

值为2:是每次操作不写入硬盘,而是写入系统缓存,日志仍然会每秒刷新硬盘;
2)innodb_autoextend_increment默认值为8M,调整为128M ;
此配置项作用主要是当tablespace 空间已经满了后,需要MySQL系统需要自动扩展多少空间,每次tablespace 扩展都会让各个SQL 处于等待状态。增加自动扩展Size可以减少tablespace自动扩展次数。 
3)innodb_log_buffer_size默认值为1M,调整为16M ;
此配置项作用设定innodb 数据库引擎写日志缓存区;将此缓存段增大可以减少数据库写数据文件次数。 
4)innodb_log_file_size默认值为 8M,调整为128M ;
此配置项作用设定innodb 数据库引擎UNDO日志的大小;从而减少数据库checkpoint操作。 

5)bulk_insert_buffer_size默认值为8M,调整为100M;

作用于使用 MyISAM存储引擎,用来缓存批量插入数据的时候临时缓存写入数据。

innodb_flush_log_at_trx_commit、innodb_log_buffer_size和 innodb_log_file_size 需要谨慎调整;因为涉及MySQL本身的容灾处理。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!