关于OceanBase的SQL调优与执行计划管理,以下做法或描述正确的有?
A. 为了避免SQL执行超时,应该在所有会话中永久设置 ob_query_timeout 为最大值
B. 当优化器选择的执行计划不佳时,可以使用Outline(SPM)绑定执行计划
C. 分析执行缓慢的SQL时,可以通过查询 gv$sql_audit 视图来获取SQL的执行统计信息
D. 对于生成长时间笛卡尔积等复杂计算的SQL,可以适当调大当前会话的超时时间以防中断
答案是BCD
SPM(执行计划管理/Outline)是解决执行计划跑偏的标准手段(B对)。gv$sql_audit 是运维排查和性能分析的核心视图(C对)。针对特定耗时较长的复杂SQL,临时调大超时时间是合理的实战技巧(D对)。A选项错误,全局永久设置最大超时时间是不合理的运维习惯,可能会掩盖慢SQL问题并占用系统资源。