要在你客户的SQL环境实现并行执行,你需要知道SQL是否准备好并行执行了。在判断SQL适合程度之后,你需要确保你有合理的实施计划,以及知道如何优化并行执行性能。 优化并行执行的性能 现在,我们已经掌握了并行执行理论的基础,现在可以指定一些准则来优化并行执行。下面是从大部分并行执行中提取出来的一些准则: 从优化串行执行的SQL开始。
确保该SQL是合适的并行执行SQL。 确保数据库服务器主机适合配置为并行执行。 确保执行计划的所有部分都并行化了。 确保请求的DOP是可实现的。
监视请求的DOP与实际情况比较。 检查数据问题和进程间负载问题。 &nb……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
要在你客户的SQL环境实现并行执行,你需要知道SQL是否准备好并行执行了。在判断SQL适合程度之后,你需要确保你有合理的实施计划,以及知道如何优化并行执行性能。
优化并行执行的性能
现在,我们已经掌握了并行执行理论的基础,现在可以指定一些准则来优化并行执行。下面是从大部分并行执行中提取出来的一些准则:
- 从优化串行执行的SQL开始。
- 确保该SQL是合适的并行执行SQL。
- 确保数据库服务器主机适合配置为并行执行。
- 确保执行计划的所有部分都并行化了。
- 确保请求的DOP是可实现的。
- 监视请求的DOP与实际情况比较。
- 检查数据问题和进程间负载问题。
我们现在来详细看看这些准则。
从优化串行执行的SQL开始
一个最理想的并行计划与最佳的串行计划可能是有区别的。例如,并行处理通常从表或索引的扫描开始,而最佳串行计划可能是基于索引查找开始。然而,你应该确保你的查询在进行并行优化之前先对串行执行进行优化,原因如下:
串行调试的结构和方法主要针对索引和统计集合,而这些经常对好的并行调试也非常关键。
如果请求并行执行的资源不可用,你的查询可能被串行化(这取决于“PARALLEL_DEGREE_ POLICY”和“PARALLEL_MIN_PERCENT”的设置)。在这种情况下,你要确保你并行查询的串行计划足够好。
缺少调优的SQL甚至可能变成更差的SQL,至少考虑到对其他用户的影响时是这样,这使它被允许消耗数据库服务器更多的CPU和IO资源。
在为并行执行优化SQL语句时,要从未串行执行SQL优化开始。
确保该SQL是合适的并行执行SQL
不是每个SQL都能从并行执行中获益的。下面是一些例子,这些情况的SQL语句可能不应该被并行化。
- 串行执行时,执行时间很短的SQL语句。
- 可能在多个会话中高并发率运行的SQL语句。
- 基于索引查找的SQL语句。非并行的索引查找或者范围扫描不能被并行化。然而,索引全扫描可以被并行化。在分区索引上的索引查找也可以被并行化。
确保要并行化的SQL是适合并行执行的。OLTP类型的查询通常不适合并行化处理。
确保系统适合配置为并行执行
不是所有的SQL都适合并行执行,也不是所有的数据库服务器主机适合配置并行处理。在当今世界,大部分物理服务器主机都满足如下最小需求:多块CPU和跨多个物理驱动器的数据带。然而,一些虚拟主机可能不满足这些最小需求,而桌面计算机通常只有唯一的磁盘设备,因此通常不适合调整为并行执行。
不要尝试在那些不满足最小需求(多块CPU和跨多个磁盘驱动器的数据带)的计算机系统上使用并行执行。
作者
翻译
相关推荐
-
Collaborate 18大会:了解甲骨文云数据库和应用的进展
在Collaborate 18大会即将举行时,我们会发现,甲骨文用户社区的技术变化会略高于平常水平。 由独立甲 […]
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
Oracle TNS 错误:管理员旷日持久的战斗
TNS经常给IT管理员带来麻烦,而且很难定位。尤其是在Oracle数据库中。本文将介绍如何避免这些常见错误。
-
DBA支招:如何实现Oracle EBS 12.2.5升级
那些对于是否要将EBS进行升级持观望态度的Oracle数据库管理员们可以从一家研究公司获得一些启示。