- 论坛徽章:
- 0
|
本帖最后由 du_liang 于 2012-09-06 10:14 编辑
回复 20# hunter_search
innodb_flush_log_at_trx_commit
0: master线程中每秒flush事务日志,但每次事务提交的时候不会触发flush事务日志动作
1: master线程中每秒flush事务日志,但每次事务提交都会触发flash事务日志动作,但flush的io方式是同步的,必须写到磁盘
2: master线程中每秒flush事务日志,但每次事务提交都会触发flash事务日志动作,但flush的io方式是非同步的, 应该写入pagecache了
我在学习小辉mysql的时候,他是这样讲的:
innodb_flush_log_at_trx_commit
值为0:日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新,但是在一个事务提交不做任何操作(跟事务提交没关系,不管提不提交都每秒写一次)。
值为1(对数据安全性要求很高时用,最耗时):在每个事务提交时,日志缓冲被写到日志文件,对日志文件做到磁盘操作的刷新。
值为2:在每个提交,日志缓冲被写到文件(内存到内存的操作),但不对日志文件做到磁盘操作的刷新。对日志文件每秒刷新一次。
|
|