《oracle编程艺术:深入数据库体系结构》之 十四 并行执行
所谓并行执行,是指能够将一个大型串行任务(任何DML,或者一般的DDL)物理地划分为多个较小的部分,这些较小的部分可以同时得到处理。 1 何时使用并行执行 并行执行本质上是一个 不可扩缩 的解决方案,设计为允许单个用户或每个特定SQL语句占用数据库的所有资源。如果某个特性允许一个人使用所有可用的资源,倘若再允许两个人使用这个特性,就会遇到明显的竞争问题。 在应用并行执行之前,需要保证以下两点成立: 必须有一个非常大的任务 ,如对50GB数据进行全面扫描。 必须有足够的可用资源 。在并行全面扫描50GB数据之前,你要确保有足够的空闲CPU(以容纳并行进程),还要有足够的I/O通道,等等。 2 并行查询 scott@ORCL>explain plan for 2 select count(status) from big_table; 已解释。 scott@ORCL>select * from table(dbms_xplan.display); PLAN_TABLE_OUTPUT -------------------------------------------------------------------------------- -------------------------------------------------------------------------