oracle中决定并行提示dop的因素有哪些。如。
SELECT /*+ PARALLEL(employees 3) */ e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id;
如何确定3是正确的dop?
gywdnpxw1#
我维护的大多数系统既不是otlp,也不是datawarehouse,而是介于两者之间的东西。因此,有时有必要使用并行性,但您不希望将所有资源(所有cpu核心)用于单个报表。理论上,您可以通过配置文件来限制dop,但在oracle中,资源限制是一个有问题的组件。而且oracle中的自适应dop默认是由空闲cpu资源的数量决定的,所以这样的查询通常有大量的并行工作线程,这会完全杀死磁盘io。oracle会话工作进程是单线程的,它们都不会使用超过一个cpu核心。所以dop应该始终对应于cpu核的数量以及它是否是cpu绑定的。
1条答案
按热度按时间gywdnpxw1#
我维护的大多数系统既不是otlp,也不是datawarehouse,而是介于两者之间的东西。因此,有时有必要使用并行性,但您不希望将所有资源(所有cpu核心)用于单个报表。理论上,您可以通过配置文件来限制dop,但在oracle中,资源限制是一个有问题的组件。而且oracle中的自适应dop默认是由空闲cpu资源的数量决定的,所以这样的查询通常有大量的并行工作线程,这会完全杀死磁盘io。
oracle会话工作进程是单线程的,它们都不会使用超过一个cpu核心。所以dop应该始终对应于cpu核的数量以及它是否是cpu绑定的。