(mysql)利用redolog刷盘控制解决导入海量数据太慢的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(mysql)利用redolog刷盘控制解决导入海量数据太慢的问题相关的知识,希望对你有一定的参考价值。

参考技术A 事务每次提交都会将log buffer中的日志写入os buffer并调用fsync()刷到log file on disk中。这种方式即使系统崩溃也不会丢失任何数据,但是因为每次提交都写入磁盘,IO的性能较差。

事务提交时不会将log buffer中日志写入到os buffer,而是每秒写入os buffer并调用fsync()写入到log file on disk中。也就是说设置为0时是(大约)每秒刷新写入到磁盘中的,当系统崩溃,会丢失1秒钟的数据。

每次提交都仅写入到os buffer,然后是每秒调用fsync()将os buffer中的日志写入到log file on disk。

以上出自https://www.cnblogs.com/f-ck-need-u/archive/2018/05/08/9010872.html

当我们在导入大量数据时,控制innodb_flush_log_at_trx_commit =2,即可节省导入时间,待测试

以上是关于(mysql)利用redolog刷盘控制解决导入海量数据太慢的问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL为什么需要redolog和undolog?从数据页刷盘的四种策略考虑

MySQL日志(redo logbinlog)刷盘策略

MySQL的日志:事务日志(redo log和undo log)

MySQL 事务的实现原理

Mysql日志---redo

Mysql日志---redo