易截截图软件、单文件、免安装、纯绿色、仅160KB

优化Oracle库表设计的若干方法

前言
  绝大多数的Oracle数据库性能问题都是由于数据库设计不合理造成的,只有少部分问题根
植于Database Buffer、Share Pool、Redo Log
Buffer等内存模块配置不合理,I/O争用,CPU争用等DBA职责范围上。所以除非是面对一个业已完成不可变更的系统,否则我们不应过多地将关注点
投向内存、I/O、CPU等性能调整项目上,而应关注数据库表本身的设计是否合理,库表设计的合理性才是程序性能的真正执牛耳者。
合理的数据库设
计需要考虑以下的方面:
  ·业务数据以何种方式表达。如一个员工有多个Email,你可以在T_EMPLOYEE表中建立多个
Email字段如email_1、email_2、email_3,也可以创建一个T_EMAIL子表来存储,甚至可以用逗号分隔开多个Email地址存
放在一个字段中。
  ·数据以何种方式物理存储。如大表的分区,表空间的合理设计等。
  ·如何建立合理的数据表索引。
表索引几乎是提高数据表查询性能最有效的方法,Oracle拥有类型丰富的数据表索引类型,如何取舍选择显得特别重要。
  本文我们将目
光主要聚焦于数据表的索引上,同时也将提及其他两点的内容。通过对一个简单的库表设计实例的分析引出设计中的不足,并逐一改正。考虑到手工编写库表的
SQL脚本原始且低效,我们将用目前最流行的库表设计工具PowerDesigner
10来讲述表设计的过程,所以在本文中你还会了解到一些相关的PowerDesigner的使用技巧。
  一个简单的例

  某个开发人员着手设计一个订单的系统,这个系统中有两个主要的业务表,分别是订单基本信息表和订单条目表,这两
张表具有主从关系的表,其中T_ORDER是订单主表,而T_ORDER_ITEM是订单条目表。数据库设计人员的设计成果如图 1所示:
图 1 订单主从表
  ORDER_ID是订单号,为T_ORDER的主键,通过名
为SEQ_ORDER_ID的序列产生键值,而ITEM_ID是T_ORDER_ITEM表的主键,通过名为SEQ_ORDER_ITEM的序列产生键
值,T_ORDER_ITEM通过ORDER_ID外键关联到T_ORDER表。
  需求文档指出订单记录将通过以下两种方式来查询数
据:
  ·CLIENT + ORDER_DATE+IS_SHPPED:根据"客户+订货日期+是否发货"条件查询订单及订单条目。
 
 ·ORDER_DATE+IS_SHIPPED:根据"订货日期+是否发货"条件查询订单及订单条目。
  数据库设计人员根据这个要
求,在T_ORDER表的CLIENT、
ORDER_DATE及IS_SHPPED三字段上建立了一个复合索引IDX_O


相关文档:

深入了解 Oracle 10g 中新型层次查询选项

     我们可以通过START WITH . . . CONNECT BY . . .子句来实现SQL的 层次查询,而Oracle 10g 为其添加许多了新的伪列。十多年以来,Oracle SQL 具有依照层次关系进行查询的功能。例如,你可以指定一个起始条件,然后根据一个或多个连接条件来确定孩子行的内容。举例来说,现在假设我有一个表,里面记 ......

Oracle 数据类型及存储方式

Oracle 数据类型及存储方式
      袁光东 原创
      概述
      通过实例,全面而深入的分析oralce的基本数据类型及它们的存储方式。以ORACLE 10G为基础,介绍oralce
      10g引入的新的数据类型。让你对or ......

Oracle中的数组

2010-04-21 14:04
oracle中构造数组的例子:
declare
type t_varray is varray(4) of number;
arr t_varray;
begin
arr := t_varray(1,2,3,4);
for i in 1..arr.count loop
    dbms_output.put_line(arr(i));
end loop;
end;
    构造二维数组的例子:
declare
type t_varray ......

数据库oracle for update of 和for update的区别

select * from TTable1 for update 锁定表的所有行,只能读不能写
 
2  select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行
3  select * from Table1 a join Table2 b on a.pkid=b.pkid for update 锁定两个表的所有记录
 
4 select * from Table1 a join Table2 b on a.pki ......

oracle服务硬件升级 调整参数

author:skate
time:2010-05-13
1)If memory increases and you're 64-bit,  e.g  8G to 16G,  Oracle SGA and related parameters need adjust; So are some the Unix kernel parameters.
2)As for CPU related configuration,  some  parameters, based on CPU_co ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号