`

oracle结构设计

阅读更多

 尽管Oracle系统本身已经提供了若干种对系统性能进行调节的技术,但是,假如数据库设计本身就有问题非凡是在结构上设计得尤其糟糕,那你纵有天大的本事又能奈何? 因此,Oracle数据库的设计者完全有必要弄清楚(从项目着手设计开始)该如何创建稳固的Oracle数据结构,在保证可维护性和可扩展性的同时以最快的速度从数据库中获取信息。     让我们把笼罩在数据库技术外围的复杂理论和存心不让人明白的技术行话扔一边去,其实,说白了你就只需要记住一点,这也是牵扯到数据库性能的最重要最简单因素:磁盘I/O。磁盘I/O正是系统消耗最大的的Oracle数据库操作。Oracle设计专家在设计数据体系结构的时候务必记得:在获取所需要的信息时一定要想尽办法把磁盘访问量降到最低!     这篇文章提出了一些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而言,所有查询中大约有一半左右在基于规则的优化条件下会运行得更快一些;另外一半则在基于开销的优化条件运行得最快。     包固定
    所有经常被引用的PL/SQL包都应该使用dbms_shared_pool.keep过程固定到共享池。这样做将极大地加快Oracle PL/SQL的执行速度。     在存储过程内设计所有的数据访问     最重要的设计问题之一把所有的数据库访问代码都放到PL/SQL存储过程中。     存储过程设计技巧     Oracle设计目标之一是尽可能地把所有Oracle处理代码都封装进存储过程。这样做可以获得相当大的益处,主要同性能和可维护性有关。你应该把自己的工作焦点置于这一目标之上。     数据同行为耦合     许多数据库治理员采用Oracle8的成员方法实现存储过程与数据库对象的紧密耦合。其它人则习惯于采用命名规范。例如,假设所有同customer表有关的行为都冠以该表的名字作为前缀(customer.hire、customer.give_raise等),那么你就可以查询数据字典列出某表关联的所有行为(select * from dba_objects where owner = 'CUSTOMER')而你能很轻易地辨别和重用代码。     代码隔离     因为所有的SQL都从外部程序移入了存储过程,所以应用程序也就不外乎只涉及到对存储过程的调用。正因如此,内外交换某一个数据库就很简单了。     更快的SGA存取     存储过程和触发器函数的运行速度为什么快于传统数据库操作代码呢?主要原因要涉及到Oracle SGA。在一个过程被装入SGA的共享池以后,它会一直“呆”到被调出内存给其他存储过程腾出空间为止。把过程调出内存的原则就是所谓的LRU算法。一旦装入了分享池的内存区,过程的执行速度可就快多了,这里的花招就是想办法阻止共享池承受太大的负载,因为许多存储过程会竞争有限的共享池内存量。再次重申:只要存储过程装入了共享池就要等到被调出内存为止。连续的存储过程执行就比外部代码更快。     小结     Oracle设计师的标志之一就是有能力创造出稳固、可维护和高效率的全面体系结构。今天的 Oracle设计专家需要设计出能支持每秒数千宗交易的系统同时还能实现快速的响应时间、简易的维护以及可扩展性。只要全面地了解Oracle9i 数据库的特性,采用本文建议的技巧,你肯定能建立恰当的数据模型结构

分享到:
评论
1 楼 qingfeng825 2008-11-10  
http://www.knowsky.com/388647.html

相关推荐

    oracle表结构生成工具

    根据excel快速生成oracle的表结构,内有可运行的代码,支持自由调配

    Oracle高效设计 第一部分

    还包括如何编写好的Oracle应用程序所涉及的关键问题:高效的管理,高效的设计模式,高效的SQL,高效的PL/SQL程序设计。附录给出了设置和很多常用的脚本。本书内容翔实,实例丰富,语言流畅且浅显易懂,适合作为从事...

    oracle导出数据库表结构到word文档中

    Oracle数据库表结构导出器是一套用来完成将Oracle数据库中的表结构导出成Word文档,并输出标准的打印报表格式的软件。亲测oracle绝对好使 ,另附有链接信息,请先看好说明再操作.不会的加我qq87611894

    Oracle PL SQL程序设计 中文第五版 上册

    《oracle pl/sql程序设计(第5版)(上下册)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题这6个方面详细系统地讨论了pl/sql以及如何有效地...

    Oracle数据库统计应用的结构设计与维护技巧.pdf

    Oracle数据库统计应用的结构设计与维护技巧.pdf

    Oracle高效设计 第二部

    还包括如何编写好的Oracle应用程序所涉及的关键问题:高效的管理,高效的设计模式,高效的SQL,高效的PL/SQL程序设计。附录给出了设置和很多常用的脚本。本书内容翔实,实例丰富,语言流畅且浅显易懂,适合作为从事...

    oracle ebs表结构

    oracle ebs总帐、应收、应付、库存、采购、固定资产、项目会计模块表的表结构

    oracle基本机构逻辑结构

    oracle基本机构逻辑结构,以及数据字典

    Oracle数据库课程设计报告(1).doc

    课 程 设 计 报 告 书 目 录 第1章 引言 3 第2章 概要设计 5 2.1系统需求分析 5 2.2系统结构设计 5 2.3系统功能模块 6 第3章 数据库分析 7 3.1 数据库总体设计 7 3.2 数据表设计 7 3.3 数据库的创建 8 3.4存储过程...

    oracle大数据量的系统的数据库结构如何设计

    oracle大数据量的系统的数据库结构如何设计

    Oracle数据库的表格设计

    描述了oracle数据库的实例结构和逻辑结构,大致讲解了两种结构的内容。并且,介绍了oracle数据库的物理和逻辑的表格设计

    高开发ORACLE数据库架构与设计

    数据库设计 高并发 表、索引、分区设计与分析及解决方案 内存数据库timesten

    Oracle PL SQL 程序设计 下 第五版part2

     《Oracle PL/SQL程序设计(第5版)(套装上下册)》结构清晰,示例丰富,实践性强,适用于Oracle数据库开发人员、Oracle数据库管理员等相关数据库从业人员,也可以作为各大、中专院校相关专业师生的参考用书和相关...

    ORACLE数据库优化设计方案

    数据库高手给出的从九个不同方面介绍ORACLE数据库优化设计方案 一、数据库优化自由结构OFA(Optimal flexible Architecture) 二、充分利用系统全局区域SGA(SYSTEM GLOBAL AREA) 三、规范与反规范设计数据库 四、...

    基于Web的学生成绩网上查询系统 oracle课程设计

    第三节 概念结构设计 7 1、实体和属性之间的关系 7 2、E-R图 7 第四节 逻辑结构设计 8 1、E-R图向关系模型的转换 8 2、设计用户子模式 8 第五节 数据库物理设计 8 1、 数据库安装与配置 8 2、 连接到oracle10g 9 3、...

    Oracle PL/SQL程序设计(第5版)(套装上下册)

    《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...

    Oracle OCI程序设计函数和数据结构整理

    自己整理的oracle OCI程序设计中设计到的函数、数据结构的说明和分类,方便查阅

    Excel VBA 自动生成 Oracle 表结构.xlsm

    在Excel中设计了表结构后,可以一键生成SQL语句,Oracle有效。如果需要更改成其它数据库,只需要做简单的修改即可。 也可以联系我修改!

    Oracle数据库精讲之数据库管理_ Oracle数据库管理视频

    2. Oracle数据库设计、开发和备份等管理人员; 四、课程内容: 第一讲:Oracle体系结构 第二讲:Oracle实例中内存结构 第三讲:Oracle实例中后台进程管理 第四讲:Oracle数据数据文件管理 第五讲:Oracle数据库...

    ORACLE 数据库体系结构

    ORACLE 数据库体系结构 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等等好多知识

Global site tag (gtag.js) - Google Analytics