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

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

这道题应选 A、B、C、D 。

OceanBase V4 中,表扫描的并行执行属性可以通过多种方式设置:

  • A. 使用 Parallel Hint :heavy_check_mark:
    可以通过 SQL 中的 /*+ PARALLEL(n) */ 指定整个 SQL 或特定表的并行度,也可以配合 /*+ parallel(auto) */ 触发自动并行。

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

  • C. 设置会话的默认 Parallel 属性 :heavy_check_mark:
    可以在 Session 级别设置并行度,例如 MySQL 模式下设置 _force_parallel_query_dop ,Oracle 模式下使用 ALTER SESSION FORCE PARALLEL QUERY PARALLEL n ,使该会话后续查询默认使用指定并行度。

  • D. 使用 Auto DOP,开启自动并行 :heavy_check_mark:
    通过设置 parallel_degree_policy = AUTO 或使用 /*+ parallel(auto) */ 开启 Auto DOP,优化器会根据统计信息、数据量和系统资源自动决定是否并行及并行度。

需要注意的是,这些方式的优先级 通常为:表级 Parallel Hint > 全局 Parallel Hint > Session 级并行度 > 表级 Parallel 属性 ,而 Auto DOP 则是在未手动指定时由系统自动决策。