OceanBase 中,哪些参数超时后会回滚整个事务?(多选)
A. ob_query_timeout
B. ob_trx_idle_timeout
C. ob_trx_timeout
D. ob_trx_lock_timeout
B. ob_trx_idle_timeout
C. ob_trx_timeout
答案:B、C、D
- A. ob_query_timeout :控制单条 SQL 语句 的最大执行时间。超时后通常只回滚当前语句,而不是整个事务。
- B. ob_trx_idle_timeout :事务空闲超时。事务中两条语句之间的间隔超过阈值时,会触发事务回滚。
- C. ob_trx_timeout :事务总超时。事务从开启到提交/回滚的时间超过阈值时,会回滚整个事务。
- D. ob_trx_lock_timeout :锁等待超时。等待锁超过该阈值时,会导致事务被终止并回滚。
所以,会回滚整个事务 的是:ob_trx_idle_timeout、ob_trx_timeout、ob_trx_lock_timeout 。
容易错选 A,关键区分点是:ob_query_timeout 是语句级超时,其他三个是事务级超时。