为了避免使用过度,你需要知道哪些情况该使用并行处理。本文会简单介绍什么时间该使用Oracle数据库的并行SQL,以及如何监视并行SQL。 判断什么时候该使用并行处理 一位开发人员曾经看见我使用并行SQL关键字来对临时查询获得快速响应。此后不久,该开发者的每一句SQL都写上了并行关键字,因为过度的并行处理,系统性能遭受了数据库服务器负载过度的问题。
教训很明显:如果系统中每一个并发SQL都试图使用系统的所有资源,并行会使性能变得更糟,而不是更好。因此,我们应该只在不影响其它并发数据库请求的情况下使用并行SQL提高性能。 下面的内容讨论了一些情况,你可以在这些情况下有效地使用并行S……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
为了避免使用过度,你需要知道哪些情况该使用并行处理。本文会简单介绍什么时间该使用Oracle数据库的并行SQL,以及如何监视并行SQL。
判断什么时候该使用并行处理
一位开发人员曾经看见我使用并行SQL关键字来对临时查询获得快速响应。此后不久,该开发者的每一句SQL都写上了并行关键字,因为过度的并行处理,系统性能遭受了数据库服务器负载过度的问题。
教训很明显:如果系统中每一个并发SQL都试图使用系统的所有资源,并行会使性能变得更糟,而不是更好。因此,我们应该只在不影响其它并发数据库请求的情况下使用并行SQL提高性能。
下面的内容讨论了一些情况,你可以在这些情况下有效地使用并行SQL。
你的服务器计算机有多块CPU
如果托管你Oracle数据库的计算机有多块CPU,并行处理通常会更有效。这是因为Oracle服务器执行的大部分操作(访问Oracle共享内存,执行排序,磁盘访问)需要CPU资源。如果托管计算机只有一个CPU,并行处理可能会竞争该CPU,因而实际性能可能会降低。
几乎任何一台现代计算机都有一个以上的CPU;双核(一个处理器插槽中有两个CPU)配置可能是能找到的运行Oracle服务器的最低配置了,包括运行部署数据库的桌面计算机和笔记本电脑。然而,运行在虚拟机中的数据库可能被配置为唯一(虚拟化的)CPU。
要访问的数据存储在多个磁盘驱动器上
如果查询必须的数据可以在Oracle缓存区找到的话,许多SQL语句只需要很少的磁盘访问(甚至不需要访问磁盘)就可以解决。然而,对于大表的全表扫描(经常采用并行处理的一种操作)往往需要大量的物理磁盘读操作。如果要访问的数据在一块磁盘上,并行处理会对该磁盘排队处理,并行处理的优势可能不会得到实现。
如果数据均匀地跨多块采用了某种形条带形式的磁盘设备分布,并行的优势就最大化地发挥了。我们在第21章会讨论条带式存储原则。
作者
翻译
TechTarget特邀编辑。2003年入软件行业,熟悉软件过程所有环节,对机构信息化的各方面有深入理解和实践经验。现就职于某互联网创业公司,目前关注互联网分布式系统架构和机器学习。喜欢传统文化社科哲学(尤喜《周易》、《老子》),喜健身喜抓举(具备抱人引体向上的能力),喜欢中国象棋(具备盲棋1对2的能力)。
相关推荐
-
DBA支招:如何实现Oracle EBS 12.2.5升级
那些对于是否要将EBS进行升级持观望态度的Oracle数据库管理员们可以从一家研究公司获得一些启示。
-
Oracle数据库云服务:处理各种规模的应用程序
Oracle表示将通过在未来六个月内开放三个新的数据中心或云可用性区域来支持其整体云产品。
-
Oracle 12c升级需遵循的简单步骤
现在是将Oracle数据库升级到12c版本的时间,DBA Brian Peasland说。通过Oracle数据库升级助手中的命令行很容易做到。
-
Oracle12c R2:利用分片技术提升分布式性能
在云环境中提升数据扩展性对Oracle来说非常重要,因为Oracle在从内部构建环境迁移到云环境的过程中会承担更多负载,同时会要求成本更低。