云数据库 GAUSSDB-事务:transaction_isolation
transaction_isolation
参数说明:设置当前事务的隔离级别。对于开启的新事务,隔离级别固定为default_transaction_isolation的值。该参数可在PDB级别设置。
参数类型:字符串
参数单位:无
取值范围:
- 通常情况下,支持以下字符串,对大小写和空格敏感。
- 'serializable': GaussDB 目前功能上不支持此隔离级别,设置该隔离级别时,与'repeatable read'效果相同。
- 'read committed':仅读取已提交事务的数据,无法读取未提交的数据。
- 'read uncommitted':与'read committed'表现相同。
- 'repeatable read':仅读取事务开始之前提交的数据,无法读取未提交的数据以及在事务执行期间由其他并发事务提交的修改。
- 'default':设置为default_transaction_isolation所设的隔离级别。
- 当dbcompatibility='M'且m_format_dev_version = 's2'时,还可以设置为以下字符串,对空格敏感。
- 'SERIALIZABLE'(与'serializable'效果相同):GaussDB目前功能上不支持此隔离级别,设置该隔离级别时,与'REPEATABLE-READ'效果相同。
- 'READ-COMMITTED'(与'read committed'效果相同):仅读取已提交的事务的数据,无法读取到未提交的数据。
- 'READ-UNCOMMITTED'(与'read uncommitted'效果相同):与'READ-COMMITTED'表现相同。
- 'REPEATABLE-READ'(与'repeatable read'效果相同):仅读取事务开始之前提交的数据,无法读取未提交的数据以及在事务执行期间由其它并发事务提交的修改。
默认值:'default'。在PDB场景内,若未设置该参数,则继承来自全局的设置。
- default_transaction_isolation参数使用默认值'read committed'。通常情况下,通过show transaction_isolation;命令查询的结果为'read committed'。
- 当dbcompatibility='M'且m_format_dev_version = 's2'时,因此default_transaction_isolation参数使用默认值的情况下,通过show transaction_isolation;命令查询的结果为'READ-COMMITTED'。
设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。
设置建议:推荐使用默认值。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
- 当dbcompatibility='M'时,查询tx_isolation和查询transaction_isolation效果相同。
- 当dbcompatibility='M'且m_format_dev_version = 's2'时,执行“SET [local|session|@@session.] transaction_isolation = value;”会修改会话级事务特性,即同时修改default_transaction_isolation参数值。
- 当dbcompatibility='M'且m_format_dev_version = 's2'时,执行“SET @@transaction_isolation = value;”用来设置下一个事务的隔离级别,并且不允许在显式事务内使用;如果隐式事务报错,即单个SQL语句报错,继续保持下一个事务特性。
- GaussDB数据库云备份_华为GaussDB_高斯数据库云备份
- GaussDB学习_gaussdb教程_高斯数据库学习_华为云
- GaussDB工具_gaussdb怎么读_高斯数据库工具_华为云
- GaussDB数据库安全_GaussDB收费吗_高斯数据库安全
- GaussDB咋样_openGauss和GaussDB的区别_高斯数据库咋样_华为云
- GaussDB考试_GaussDB数据库考试_高斯数据库考试_华为云
- GaussDB TP_GaussDB和MySQL区别_高斯数据库TP_华为云
- GaussDB配额_GaussDB数据库配额_高斯数据库配额_华为云
- GaussDB用法_GaussDB数据库使用方法_高斯数据库如何使用_华为云
- GaussDB MPP_高斯数据库查看建表语句_高斯数据库 MPP_华为云