mysql - MySQL InnoDB 引擎是否为只读事务运行任何性能优化

标签 mysql transactions innodb

根据引用文档,READ ONLY 事务标志可能会提示存储引擎运行一些优化。

设置 session 事务为只读;

If the transaction access mode is set to READ ONLY, changes to tables are prohibited. This may enable storage engines to make performance improvements that are possible when writes are not permitted.

InnoDB 引擎是否为只读事务运行此类优化?

最佳答案

这个语法对于 MySQL 5.6 很重要,在 MySQL 5.6 中创建一个 READ ONLY 事务可以避免 InnoDB 在内部设置许多结构。

在 MySQL 5.7 中,优化得到了扩展,因此所有事务都将从 READ ONLY 开始,然后根据需要转换为 READ_WRITE。这在 this blog post 中有进一步描述。 .

关于mysql - MySQL InnoDB 引擎是否为只读事务运行任何性能优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33332824/

相关文章:

php - 行级锁定 - MySQL - 用于更新

MySQL -- 创建两个索引,只有一个出现在 SHOW CREATE TABLE 输出中

mysql - MySQL Innodb 中的悬空事务

java - Spring 数据 : Method with annotation @Query doesn't work as expected

MySQL:使用事务处理嵌套存储过程中的回滚

带有 FOR UPDATE 的 MySQL 读锁

php - MySQL InnoDB - 对事务感到困惑

PHP mysqli 插入命令

PHP 搜索表中的不同字段并显示各自的结果

Mysql 连接器 8.0 和 Python 3.8