Oracle并行SQL指南
并行SQL使得SQL语句可以被多线程或进程同时处理。今天,双核和四核处理器的广泛应用,意味着运行Oracle数据库的即便是最廉价的现代计算机也会包含一个以上的CPU。尽管PC和笔记本可能只有一个磁盘设备,但数据库服务系统通常会跨多个独立磁盘设备分布保存数据库文件。
目录:
-
>理解并行SQL的概念
没有并行技术的时候,也就是SQL语句被顺序处理的时候,一个会话只能利用CPU或者磁盘设备其中之一。结果,串行执行SQL语句不能利用整个计算机的处理能力。并行执行使得单个会话和SQL语句能利用多个CPU和磁盘设备的处理能力。
-
>并行处理和并行度
并行度(DOP)定义了将被创建的执行并行流的数量。最简单的情况,它可以理解为分配为支持你SQL执行的并行伺服进程的数量。然而,并行进程的数量更多的时候是DOP的两倍。这是因为重要的执行计划中的每一步都需要把数据供给后续步骤,因此要分配两个进程组维护并行处理流。
-
>理解Oracle中的并行查询IO
Oracle缓存区如何通过频繁地缓存在共享内存中访问数据来帮助降低磁盘IO瓶颈。Oracle有一种轮换IO机制,叫做“直接路径IO”,如果它判断到绕过缓存区直接执行IO会更快速的话,它就会启用。
-
>利用并行SQL改善Oracle数据库性能
你可以预期从部署并行SQL获得的性能提升多少,取决于你的托管计算机,Oracle配置和SQL语句配合程度是否良好。如果并行处理的所有条件都满足了,你可以期望可观的性能提升效果与采用的DOP是成比例的。
-
>判断什么时候该使用并行处理
如果系统中每一个并发SQL都试图使用系统的所有资源,并行会使性能变得更糟,而不是更好。因此,我们应该只在不影响其它并发数据库请求的情况下使用并行SQL提高性能。
-
>如何配置Oracle并行处理
Oracle试图自动化系统配置来使并行操作的性能最大化。然而,仍然有许多手工调整的空间,我们可以调整数据库,优化SQL并行性能。
-
>如何优化并行SQL性能
要在你客户的SQL环境实现并行执行,你需要知道SQL是否准备好并行执行了。在判断SQL适合程度之后,你需要确保你有合理的实施计划,以及知道如何优化并行执行性能。