首批通过分布式安全可靠测评,为关键业务系统打造
max_execution_time
更新时间:2026-07-13 20:58:52
说明
该变量从 V4.4.2 BP1 版本开始生效。
功能描述
max_execution_time 仅适用于设置只读 SELECT 语句的执行超时时间(单位:毫秒)。
注意事项
max_execution_time 变量只有在如下场景下才能生效:
- 集群版本符合要求:集群的最小版本为 V4.4.2 BP1 或更高。
MAX_EXECUTION_TIME配置项的值大于 0(即该功能已启用)。- 当前执行的 SQL 是单条、只读的
SELECT语句。
max_execution_time 变量不生效,受 ob_query_timeout 变量控制的场景:
- 集群最小版本低于 V4.4.2 BP1。
MAX_EXECUTION_TIME配置项等于0。- 不为
select语句 - 为 multi-stmt,且
ob_query_timeout的时间戳小于max_execution_time的时间戳。 - 是
select语句但不是只读的select语句。如select语句中包含 UDF ,UDF 中定义了 DML 时,该select语句的超时时间受ob_query_timeout控制。
权限要求
查询变量
Global 级别
sys租户和所有用户租户均可以使用SHOW VARIABLES语句或视图SYS.TENANT_VIRTUAL_GLOBAL_VARIABLE(Oracle 模式)及视图information_schema.GLOBAL_VARIABLES(MySQL 模式)查看 Global 系统变量的值。Session 级别
sys租户和所有用户租户均可以使用SHOW VARIABLES语句或视图SYS.TENANT_VIRTUAL_SESSION_VARIABLE(Oracle 模式)及视图information_schema.SESSION_VARIABLES(MySQL 模式)查看 Session 系统变量的值。
修改变量
sys租户可以直接修改 Global 系统变量的值。MySQL 用户租户需要拥有
SUPER或ALTER SYSTEM权限才能修改 Global 系统变量的值。Oracle 用户租户需要拥有
ALTER SYSTEM权限才能修改 Global 系统变量的值。
属性说明
| 属性 | 描述 |
|---|---|
| 参数类型 | Integer |
| 默认值 | 0,表示 max_execution_time 系统变量不生效,使用其他超时控制方式,如 ob_query_timeout。 |
| 取值范围 | [0, 4294967295] |
| 生效范围 |
|
| 是否可修改 | 该变量可通过 SET GLOBAL 语句修改 Global 生效方式下的取值,支持通过 SET 语句修改 Session 生效方式下的取值。 |
配置示例
设置 SELECT 语句的执行超时时间为 2 毫秒。
obclient> SET GLOBAL max_execution_time=2;