在 OceanBase V4 中,可以通过哪些方式来设置表扫描的并行执行属性?(多选)
A. 使用 Parallel Hint
B. 设置表的 Parallel 属性
C. 设置会话的默认 Parallel 属性
D. 使用 Auto DOP,开启自动并行
这道题应选 A、B、C、D 。
OceanBase V4 中,表扫描的并行执行属性可以通过多种方式设置:
-
A. 使用 Parallel Hint

可以通过 SQL 中的/*+ PARALLEL(n) */指定整个 SQL 或特定表的并行度,也可以配合/*+ parallel(auto) */触发自动并行。 -
B. 设置表的 Parallel 属性

通过ALTER TABLE table_name PARALLEL n或建表时指定parallel = n,使对该表的扫描默认按指定并行度执行。 -
C. 设置会话的默认 Parallel 属性

可以在 Session 级别设置并行度,例如 MySQL 模式下设置_force_parallel_query_dop,Oracle 模式下使用ALTER SESSION FORCE PARALLEL QUERY PARALLEL n,使该会话后续查询默认使用指定并行度。 -
D. 使用 Auto DOP,开启自动并行

通过设置parallel_degree_policy = AUTO或使用/*+ parallel(auto) */开启 Auto DOP,优化器会根据统计信息、数据量和系统资源自动决定是否并行及并行度。
需要注意的是,这些方式的优先级 通常为:表级 Parallel Hint > 全局 Parallel Hint > Session 级并行度 > 表级 Parallel 属性 ,而 Auto DOP 则是在未手动指定时由系统自动决策。