Oracle里能够并行的操作
1.并行查询
2.并行DDL
3.并行DML
alter session force parallel dml;
alter session enable parallel dml;
仅仅修改表的并行度和仅使用并行Hint,都不能真正并行执行DML。
4.并行数据加载。
5.并行备份和恢复
6.并行收集统计信息
Oracle里与并行有关的语术及解释
Query Coordinator
Query Slaves和Query SlaveSet
Table Queues(TQ)
Oracle用TQ来实现Query SlaveSet之间以及Query Slave Set和QC之间数据的传递和重新分布
数据传递方法
哈希(Hash)
广播(Broadcast)
分区(Partition,包括Partition-Wise Join和Partial Partition-Wise Join)
排序(Order)
随机(QC(RANDOM))
granules
在Oracle数据库里,单个并行子进程单次执行所需要做的工作量我们称之为粒度(granule)。
granule的划分原则有两种:一种是根据目标对象的数据块的范围来划分granule;另一种是把单个分区整个划分为1个granule.
如果granule是整个分区,则在并行执行计划中会看到关键字"PX PARTITION LIST ALL"或“PX PARTITION HASH ALL";如果
granule是目标对象在一定范围内的数据库,则在并行执行计划中会见到关键字"PX BLOCK ITERATOR"。
直接读取