事务提交时不会将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,即可节省导入时间,待测试
如果原表很大,插入数据会非常慢,建议插入到临时表,然后用一个语句(INSERT INTO XXX SELECT * FTOM TMPXXX)把数据插入,这样速度会快一点,如果想更快,需要减少不必要的索引,如果大批量的插入,可以插入前删除索引,插入后重新建立。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)