2
|
Vladislav Rastrusny · 技术社区 · 14 年前 |
1
1
热释光;DR:如果你的论坛很慢,事务隔离级别很可能不是原因,将它设置为默认值以外的任何值都不会有帮助。设置innodb \u flush \u log \u on \u trx \u commit=2会有所帮助,但会对崩溃造成持久性后果。
我写的事务隔离级别是什么 http://mysqldump.azundris.com/archives/77-Transactions-An-InnoDB-Tutorial.html . 查看中所有3篇InnoDB概述文章 http://mysqldump.azundris.com/categories/32-InnoDB . 其结果是,在任何情况下,系统都必须能够回滚,因此即使是readuncommitted也不会改变任何需要在写操作上完成的操作。
关于AUTOCOMMIT:这会将每个write语句同步到磁盘。如果您以前使用过MyISAM,并且已经足够好了,那么您可能需要配置
然后重新启动服务器。 这将使提交从mysqld写入到文件系统缓冲区缓存,但会延迟将文件系统缓冲区缓存刷新到磁盘,以便每秒钟只发生一次。在mysqld崩溃时不会丢失任何数据,但在硬件崩溃时可能会丢失最多1s的写操作。即使在硬件崩溃之后,InnoDB也会自动恢复,即使它不是完全的ACID,它的性能仍然比MyISAM之前要好。如果没有这个设置,它将比AUTOCOMMIT快得多。 |
2
0
是的 . 它肯定会带来一些性能提升。但是,如果您正在进行任何更新,则必须手动执行提交。 我对AutoCommit模式的了解是,它会在db操作之后自动执行提交操作,这会导致每次提交时表上的索引都会重新生成,从而降低性能。 |
TheStoryCoder · Yii2:是否在事务外部执行查询? 6 年前 |
Ali · 将SQL事务用于单个SQL查询[已关闭] 6 年前 |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 6 年前 |