sql - Oracle Parallel Hint 中的并行度
问题描述
在 Oracle 中决定 Dop in Parallel 提示的因素是什么。
例如。
SELECT /*+ PARALLEL(employees 3) */ e.last_name, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id;
如何确定 3 是正确的 DOP?
解决方案
我维护的大多数系统现在都不是 OTLP Datawarehouse,而是介于两者之间。因此,有时有必要使用并行性,但您不想将所有资源(所有 CPU 内核)用于单个报告。从理论上讲,您可以通过配置文件限制 DOP,但资源限制是 Oracle 中存在问题的组件。Oracle 中的 Adaptive DOP 默认情况下由空闲 CPU 资源的数量决定,因此这样的查询通常有大量的并行工作人员,这完全杀死了磁盘 IO。
Oracle 会话工作进程是单线程的,它们都不会使用超过单个 CPU 内核。所以 DOP 应该始终对应于 CPU 内核的数量以及它是否受 CPU 限制。
推荐阅读
- github - 合并到分支后如何触发转换
- sqlite - Elastic Beanstalk - SQLite 数据库
- angular - 在本地主机上运行 Angular 项目时,我可以为我的网站输入任何 url,但在 apache 服务器上我不能
- javascript - JSON数组在读取时被拆分为字母
- junit - CircleCI:如何配置测试结果存储?
- compilation - 使用 LLVM 的成语识别
- vue.js - 当按下除输入按钮 vue.js 之外的所有其他键时,将布尔值设置为 false
- php - 未插入表中的值
- asp.net-mvc-5 - 通过 azure AD 进行身份验证时公开扩展属性 - Azure AD 中的声明感知应用程序
- html - 方形空间中的图像砌体网格