Oracle 的并行查询机制,用好了是真的能省不少事。比如用select /*+ FULL(emp) PARALLEL(emp,5) */这种写法,指定并行度,跑大表的时候,速度那叫一个快。不过啊,像alter table_name parallel degree N这种持久并行方式,我一般不太推荐,维护麻烦,还容易影响别的 SQL 执行计划。

并行度的设置其实挺讲究的,太高了会争资源,太低又没效果。建议你根据 CPU 核心数来定,一般并行度设个 2-4 就挺稳。

全表扫描配合并行,还挺有用的,是数据量大的批任务。别忘了在语句里加点 hint,比如FULLPARALLEL组合使用,能直接提示优化器走并行。

哦对了,我整理了一些还不错的文章,像是Oracle SQL 并行查询笔记排序合并连接与并行查询的实践,里面讲了不少实战经验,你可以去看看。

如果你最近在调 SQL 性能,尤其是跑得慢的大查询,不妨试试加点并行 hint,测试看看效果,别忘了对比执行计划,看看是不是走上了并行路径。