0
点赞
收藏
分享

微信扫一扫

事务隔离级别示例

1、设置服务器缺省隔离级别

1.1通过修改配置文件设置

可以在my.ini文件中使用transaction-isolation选项来设置服务器的缺省事务隔离级别。

该选项值可以是:

  1. READ-UNCOMMITTED
  2. READ-COMMITTED
  3. REPEATABLE-READ
  4. SERIALIZABLE

例如:

[mysqld]

transaction-isolation = READ-COMMITTED

1.2通过命令动态设置隔离级别

隔离级别也可以在运行的服务器中动态设置,应使用SET TRANSACTION ISOLATION LEVEL语句。

其语法模式为:

             SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL <isolation-level>

  其中的<isolation-level>可以是:

  1. READ UNCOMMITTED
  2. READ COMMITTED
  3. REPEATABLE READ
  4. SERIALIZABLE

例如: SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

1.3、隔离级别的作用范围

1.3.1事务隔离级别的作用范围分为两种:

1.3.1.1全局级:对所有的会话有效
1.3.1.2会话级:只对当前的会话有效

例如,设置会话级隔离级别为READ COMMITTED :

mysql> SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

或:

mysql> SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;

设置全局级隔离级别为READ COMMITTED :

mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

1.4、查看隔离级别

服务器变量tx_isolation(包括会话级和全局级两个变量)中保存着当前的会话隔离级别。

为了查看当前隔离级别,可访问tx_isolation变量:

1.4.1查看会话级的当前隔离级别:

             mysql> SELECT @@tx_isolation;

             或:

             mysql> SELECT @@session.tx_isolation;

事务隔离级别示例_mysql

1.4.2查看全局级的当前隔离级别:

              mysql> SELECT @@global.tx_isolation;

事务隔离级别示例_mysql_02

举报

相关推荐

0 条评论