以下哪项参数用于控制单条SQL最大允许执行时长,防止慢SQL拖垮集群?()
A. ob_query_timeout
B. ob_max_scan_rows
C. ob_cpu_max_limit
D. ob_sql_work_area_percentage
以下哪项参数用于控制单条SQL最大允许执行时长,防止慢SQL拖垮集群?()
A. ob_query_timeout
B. ob_max_scan_rows
C. ob_cpu_max_limit
D. ob_sql_work_area_percentage
正确答案是:A. ob_query_timeout
详细解析:
在 OceanBase 中,针对 SQL 执行超时的控制机制如下:
选项 A (ob_query_timeout) 正确 :
参考材料明确指出,ob_query_timeout 用于设置 SQL 的最大执行时间,其单位为微秒(us),默认值为 10 秒(即 10000000 us)。当单条 SQL 的执行时间超过该阈值时,系统会主动终止该查询并报错(如 ERROR 4012: Timeout, query has reached the maximum query timeout ),从而有效防止慢 SQL 长时间占用资源拖垮集群。
选项 B (ob_max_scan_rows) 错误 :
该参数通常用于限制 SQL 执行时允许扫描的最大行数,属于资源限制手段,而非基于时间维度的超时控制。
选项 C (ob_cpu_max_limit) 错误 :
该参数主要用于限制租户或系统可使用的最大 CPU 资源配额,用于实现多租户间的资源隔离,与单条 SQL 的执行时长无关。
选项 D (ob_sql_work_area_percentage) 错误 :
该参数用于控制租户内存中分配给 SQL 执行工作区(如排序、哈希连接等操作)的内存百分比,主要用于内存管理,防止内存溢出,不涉及执行时间的控制。