为了避免使用过度,你需要知道哪些情况该使用并行处理。本文会简单介绍什么时间该使用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章会讨论条带式存储原则。
作者
翻译
相关推荐
-
Collaborate 18大会:了解甲骨文云数据库和应用的进展
在Collaborate 18大会即将举行时,我们会发现,甲骨文用户社区的技术变化会略高于平常水平。 由独立甲 […]
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
Oracle TNS 错误:管理员旷日持久的战斗
TNS经常给IT管理员带来麻烦,而且很难定位。尤其是在Oracle数据库中。本文将介绍如何避免这些常见错误。
-
DBA支招:如何实现Oracle EBS 12.2.5升级
那些对于是否要将EBS进行升级持观望态度的Oracle数据库管理员们可以从一家研究公司获得一些启示。