Oracle结构设计技巧
结构设计技巧
Oracle产品中有好些可以降低SQL查询磁盘I/O量的工具。下面就是一些能极大改进Oracle 系统性能的结构设计问题。
采用多种大小尺度的数据块
你完全可以故意地把不同的表和索引结构映射到具有不同大小的表空间。这种分配方案的设计依据是表内数据行的平均长度以及整个数据库内的数据访问模式。Oracle9i给你提供了以下几种选择:2K、4K、16K甚至32K的表空间大小。这一招的实质是让表和索引仅需一次磁盘I/O就可以获取所有关联数据行的信息。
预先计算复杂的SQL查询
Oracle提供了具体化的视图和VARRAY表,通过它们就可以预建复杂的查询并汇集到单行表内,这样即时获取信息可就快多了。即时汇集是一种优异的Oracle设计。
采用内存数据缓冲
你应该知道Oracle9i允许开辟很大的内存区域以便缓冲常用索引行的信息。常用索引信息的缓冲应该是一个主要的专业设计目标,因为内存访问的速度可是磁盘访问速度的至少1万倍。Oracle数据块缓冲区越大,SQL查询的执行速度就越快。内存数据缓冲区的大小对Oracle的性能具有直接的影响,如果数据缓冲区缓冲了全部数据系统就可以达到最快的运行速度。
购买更快的处理器
Oracle数据库服务器的CPU速度对数据库性能有直接影响。高性能64位CPU的运行速度通常比32位处理器快10次。目前几乎所有的主要平台都可以采用64位处理器了,其中包括:
Windows―Intel安腾处理器
HP―PA-8000处理器
Solaris―500-MHz Ultrasparc-iie处理器
IBM AIX―RS/6000 PowerPC处理器
采用64位版本的Oracle
强烈建议你在装备64位CPU体系结构的专门服务器平台上安装和运行64位的Oracle数据库系统。Oracle的64位版本可以创建大规模的SGA区域以及通常需要超过20GB内存数据缓冲区的大规模项目。32位Oracle数据库的一个严重缺陷就是SGA最大只能开辟1.7GB。
对索引使用大数据块使磁盘I/O减到最小
Oracle索引访问在Oracle数据库大小为16K和32K的情况下性能表现最好。你应该查询相应的应用程序和操作系统文档,为你的计算环境创建最大的索引表空间。
使用Oracle并行查询
所有的数据访问都应该经过调整避免大规模表扫描或者全表扫描,但在很多情况下都会有这样的查询要求,怎么办呢?你不妨保证所有的全表扫描都充分利用了Oracle并行查询机制以提高查询性能。
选择适当的SQL优化
优化器模式的选择对Oracle SQL性能具有关键的影响。对Oracle9i而言,所有查询中大约有一半左右在基于规则的优化条件下会运行得更快一些;另外一半则在基于开销的优化条件运行得最快。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国