`
swachian
  • 浏览: 75143 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql的innodb_flush_log_at_trx_commit

阅读更多

innodb_buffer_pool_size
如 果用Innodb,那么这是一个重要变量。相对于MyISAM来说,Innodb对于buffer size更敏感。MySIAM可能对于大数据量使用默认的key_buffer_size也还好,但Innodb在大数据量时用默认值就感觉在爬了。 Innodb的缓冲池会缓存数据和索引,所以不需要给系统的缓存留空间,如果只用Innodb,可以把这个值设为内存的70%-80%。和 key_buffer相同,如果数据量比较小也不怎么增加,那么不要把这个值设太高也可以提高内存的使用率。

innodb_additional_pool_size
这个的效果不是很明显,至少是当操作系统能合理分配内存时。但你可能仍需要设成20M或更多一点以看Innodb会分配多少内存做其他用途。

innodb_log_file_size
对于写很多尤其是大数据量时非常重要。要注意,大的文件提供更高的性能,但数据库恢复时会用更多的时间。我一般用64M-512M,具体取决于服务器的空间。

innodb_log_buffer_size
默认值对于多数中等写操作和事务短的运用都是可以的。如 果经常做更新或者使用了很多blob数据,应该增大这个值。但太大了也是浪费内存,因为1秒钟总会 flush(这个词的中文怎么说呢?)一次,所以不需要设到超过1秒的需求。8M-16M一般应该够了。小的运用可以设更小一点。

innodb_flush_log_at_trx_commit  (这个很管用)
抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了调整这个值。默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电 池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。而值2只会在整个操作系统 挂了时才可能丢数据。

分享到:
评论

相关推荐

    :innodb_flush_log_at_trx_commit 和 sync_binlog1

    MySQL 数据库中的 `innodb_flush_log_at_trx_commit` 和 `sync_binlog` 是两个非常重要的配置参数,它们直接影响到数据库的性能与数据安全性。理解并合理设置这两个参数对于优化数据库系统至关重要。 首先,`innodb...

    fupengfei058#blog#MySQL 重要参数 innodb_flush_log_at_trx_commit 和 sy

    可以看到,只有1才能真正地保证事务的持久性,但是由于刷新操作 fsync() 是阻塞的,直到完成后才返回,我们知道写磁盘的速度是很慢的,因此 MySQL 的性能

    my.cnf参数配置实现InnoDB引擎性能优化

    在网上看了无数的my....结果是只有innodb_flush_log_at_trx_commit可以提高性能,对于1,2,3参数无论是开其中某一个,还是三个同时调节都没有影响到测试性能。我想了下,可能是我的测试数据量还不够大造成的,后续有条

    MySQL Innodb 参数详解与优化实践

    `innodb_flush_log_at_trx_commit` - **描述**:控制事务提交时是否同步写入日志文件,默认值为0。 - **应用场景**:设置为1可增强数据安全性,但可能会降低性能;设置为0则牺牲安全性换取更高性能。 ##### 9. `...

    InnoDB_Log_Structures

    - `innodb_flush_log_at_trx_commit`:决定日志何时刷新到磁盘。 #### 5. 恢复和性能 InnoDB的重做日志对于数据库的恢复和性能至关重要。在数据库崩溃后,InnoDB可以重放日志来恢复未提交的事务和重做已提交的事务...

    可以改善mysql性能的InnoDB配置参数

    6. **innodb_flush_log_at_trx_commit**:此参数控制事务日志的持久化策略,影响事务的ACID特性。设置为1确保每次提交都同步到磁盘,牺牲速度以保证强一致性;设置为0或2则可能牺牲一些一致性以换取性能提升。 7. *...

    数据库优化配置.doc

    [client] port=3306 [mysql] no-beep default-character-set=utf8 [mysqld] datadir=D:/Data port=3306 server-id=...log_file_size=1G innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=2 innodb_file_per_t

    事务已提交,数据却丢了,赶紧检查下这个配置!!!1

    为了解决这个问题,MySQL提供了一个参数`innodb_flush_log_at_trx_commit`,用于控制事务提交时的redo log刷盘策略。这个参数有三个可选值: 1. `innodb_flush_log_at_trx_commit=0`:最优化性能,每秒将Log Buffer...

    MYSQL innodb性能优化学习总结

    - **innodb_flush_log_at_trx_commit**:控制日志写入磁盘的策略,对于实时业务交易,一般配置为2,既保证了事务的一致性又减少了性能损耗,而设置为0或2时在系统崩溃时可能会有数据丢失的风险。 - **innodb_read_...

    mysql参数及其优化

    query_cache_size、query_cache_type、innodb_buffer_pool_size、innodb_log_file_size、innodb_log_buffer_size、innodb_flush_logs_at_trx_commit、transaction_isolation、innodb_file_per_table、innodb_open_...

    23.MySQL是怎么保证数据不丢的?1

    1. 当`innodb_flush_log_at_trx_commit=0`时,redo log仅保留在内存中,直到InnoDB后台线程定期刷新到磁盘,丢失数据的风险较高。 2. 当`innodb_flush_log_at_trx_commit=1`时,每次事务提交都会将redo log flush到...

    MySQL数据页功能性能测试innodb-page-size

    7. `innodb_log_files_in_group`、`innodb_flush_log_at_trx_commit`、`innodb_log_file_size` 和 `innodb_max_dirty_pages_pct` 与事务日志和脏页处理相关,确保事务安全性和性能平衡。 测试工具 Sysbench 被用来...

    mysqlreport报告分析记录

    总的来说,理解 `innodb_flush_log_at_trx_commit` 参数对 MySQL 性能的影响,以及如何根据业务需求和系统环境来选择合适的值,是优化数据库性能的关键。通过分析 mysqlreport 提供的详细信息,我们可以更深入地了解...

    MySQL5.6基本优化配置

    - `innodb_flush_log_at_trx_commit` 设置为2,这意味着每次提交事务时,重做日志缓冲区会被写入日志文件,但不立即同步到磁盘,提供了一定的性能和数据安全平衡。 - `innodb_file_per_table` 开启,每个表的索引...

    InnoDB性能优化参数详解.docx

    6. **innodb_flush_log_at_trx_commit**:这个参数决定事务日志何时被刷入磁盘。设置为1表示每次提交事务都会同步到磁盘,确保强一致性但可能影响性能;设置为0或2则牺牲一致性以提高性能,但可能导致数据丢失。 7....

    MySQL零拷贝技术详解.pdf

    MySQL 提供了几个参数来控制 Page Cache 数据落盘的具体行为,例如 innodb_flush_log_at_trx_commit 参数用于控制基于 Page Cache 的 Redo Log Buffer 的数据落盘机制。 innodb_flush_log_at_trx_commit 参数有三个...

    MYSQL数据库技术分享.ppt

    5. 磁盘IO优化:通过调整磁盘IO参数,例如sync_binlog、innodb_flush_log_at_trx_commit等,来提高MYSQL数据库的性能。 MYSQL数据库慢SQL定位与分析 MYSQL数据库慢SQL定位与分析是MYSQL数据库性能优化的重要步骤。...

    MySQL 句柄数占用过多的解决方法

    在Windows下安装MySQL ,用了官方的配置... 后来又看到一个设置innodb_flush_log_at_trx_commit  innodb_flush_log_at_trx_commit (这个很管用)  抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了调整这个值。默

    MySQL参数说明

    * innodb_flush_log_at_trx_commit:日志提交方式(关键参数) + 0 每秒写 1 次日志,将数据刷入磁盘,相当于每秒提交一次事务 + 1 每次提交事务写日志,同时将刷新相应磁盘,默认参数 + 2 每提交事务写一次日志...

    Mysql InnoDB删除数据后释放磁盘空间的方法

    此外,还有一些其他优化InnoDB性能的配置参数,例如调整`innodb_buffer_pool_size`以缓存更多数据,或者设置`innodb_flush_log_at_trx_commit`来平衡事务安全性与性能。同时,了解InnoDB与其他存储引擎如MyISAM的...

Global site tag (gtag.js) - Google Analytics