云数据库 GAUSSDB-事务:SET TRANSACTION差异

时间:2024-11-28 20:08:31

SET TRANSACTION差异

M-Compatibility中,SET TRANSACTION同时设置多次隔离级别/事务访问模式时,只有最后一个会生效;多个事务特性支持使用空格和逗号分隔。

MySQL中SET TRANSACTION不允许设置多次隔离级别/事务访问模式;多个事务特性只支持使用逗号分隔。

表1 SET TRANSACTION差异

语法

功能

差异

SET TRANSACTION

设置事务特性。

M-Compatibility中,SET TRANSACTION在会话级别生效;MySQL中SET TRANSACTION在下一个事务生效。

SET SESSION TRANSACTION

设置会话级事务特性。

-

SET GLOBAL TRANSACTION

设置全局会话级事务特性,该特性适用于后续会话,对当前会话无影响。

M-Compatibility中,GLOBAL是全局会话级别生效,只针对当前数据库实例,其它数据库不影响。

MySQL中,会使所有数据库生效。

-- SET TRANSACTION会话级生效。
m_db=# SET TRANSACTION ISOLATION LEVEL READ COMMITTED READ WRITE;
m_db=# SHOW transaction_isolation;
m_db=# SHOW transaction_read_only;
-- M-Compatibility同时设置多次隔离级别/事务访问模式,最后一个生效。
m_db=# SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED, ISOLATION LEVEL REPEATABLE READ, READ WRITE, READ ONLY;
m_db=# SHOW transaction_isolation; -- repeatable read
m_db=# SHOW transaction_read_only; -- on
support.huaweicloud.com/productdesc-gaussdb/gaussdb-83-0056.html