innodb 的隔离级别
张三 2020-11-26 15:34:53 2020-11-26 83 0
15.7.2.1事务隔离级别
事务隔离是数据库处理的基础之一。隔离是I的首字母缩写 ACID ; 隔离级别是在多个事务进行更改并同时执行查询时,对结果的性能和可靠性,一致性和可重现性进行微调的设置。
InnoDB
提供由SQL描述的所有四个事务隔离级别:1992标准: READ UNCOMMITTED
, READ COMMITTED
, REPEATABLE READ
,和 SERIALIZABLE
。InnoDB
is 的默认隔离级别REPEATABLE READ
。
用户可以更改单个会话或与SET TRANSACTION
语句的所有后续连接的隔离级别。要为所有连接设置服务器的默认隔离级别,请使用 --transaction-isolation
命令行或选项文件中的选项。有关隔离级别和级别设置语法的详细信息,请参见 第13.3.7节“SET TRANSACTION语法”。
InnoDB
使用不同的锁定策略支持此处描述的每个事务隔离级别 。REPEATABLE READ
对于ACID合规性很重要的关键数据的操作,您可以强制执行与默认级别的高度 一致性 。或者你可以用放松的一致性规则 READ COMMITTED
,甚至 READ UNCOMMITTED
在情况下,如散装报告需要精确的一致性和可重复的结果比最小化锁定开销的量更重要。 SERIALIZABLE
执行甚至更严格的规则REPEATABLE READ
,主要用于特殊情况,例如XA事务和解决并发和死锁问题 。
以下列表描述了MySQL如何支持不同的事务级别。该列表从最常用的级别变为最少使用的级别。