10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.1 mb
PDF (A4)- 41.2 mb
PDF (RPM)- 39.8 mb
HTML下载(TGZ)- 9.5 mb
HTML下载(Zip)- 9.6 mb
HTML下载(RPM)- 8.1 mb
手册页(TGZ)- 260.5 kb
手册页(Zip)- 371.7 kb
信息(Gzip)- 3.9 mb
信息(邮政编码)- 3.9 mb
本手册节选

8.5.3优化InnoDB只读事务

InnoDB可以避免与设置事务IDTRX_ID字段)用于已知为只读的事务。事务ID只需要用于事务可能执行写操作或者读锁选择……更新.消除不必要的事务id可以减少每次查询或数据更改语句构造时所查询的内部数据结构的大小阅读观点

InnoDB检测只读事务时:

  • 对象启动事务启动事务只读声明。在本例中,尝试对数据库进行更改(用于InnoDB,MyISAM,或其他类型的表)导致错误,并且事务继续处于只读状态:

    错误1792(25006):不能在只读事务中执行语句。

    您仍然可以在只读事务中对特定于会话的临时表进行更改,或者为它们发出锁定查询,因为这些更改和锁对任何其他事务都不可见。

  • 自动提交设置是打开的,因此该事务将保证为单个语句,而组成该事务的单个语句为非锁定选择声明。也就是说,a选择它不使用a更新共享模式锁定条款。

  • 的情况下启动事务只读选项,但尚未执行显式锁定行的更新或语句。除非需要更新或显式锁,否则事务将保持只读模式。

因此,对于报表生成器等读取密集型应用程序,可以调优序列InnoDB通过在其中分组查询启动事务只读而且提交,或通过打开自动提交在运行选择语句,或者简单地避免在查询中穿插任何数据更改语句。

有关开始事务而且自动提交,请参阅第13.3.1节,START TRANSACTION, COMMIT和ROLLBACK语句

请注意

符合自动提交、非锁定和只读(AC-NL-RO)条件的事务被排除在某些内部InnoDB的数据结构,因此没有列出显示引擎innodb状态输出。