• λ我爱Aspx >> C#.Net >> 优化Oracle库表设计的若干方法_数据库技巧
  • 优化Oracle库表设计的若干方法_数据库技巧

  • :aspxer  Դ:internet  :2007-4-28 23:46:45  ؼ:数据库,数据
  • 图 8 为主键指定特定的索引

    不可否认PowerDesigner确实是目前业界最强大易用的数据库设计工具,但很遗憾,当我们为表主键指定一个索引时,其产生的语句在顺序上有问题:即创建主键的语句位于创建索引语句之前:
    create table T_ORDER (…);alter table T_ORDER add constraint PK_T_ORDER primary key (ORDER_ID) using index IDX_ORDER_ID;create unique index IDX_ORDER_ID on T_ORDER ( ORDER_ID ASC) reverse;
    我们可以通过对PowerDesigner生成SQL语句的设置进行调整,先生成创建表和索引的SQL语句,再创建为表添加主键和外键的SQL语句来达到曲线救国的目的,请看下一步。
    3)通过菜单Database->Generate Database...调出Database Configuration窗口,切换到Keys&Indexes页,按图 9设置:

    图 9 设置生成键和索引SQL的选项

    这里,我们将Primary Keys和Foreign keys的选项都取消,而将Indexes勾选,以达到只生成表的索引SQL语句的目的。
    点击"确定"后,生成创建数据库表及其索引的SQL语句,运行该SQL创建数据库后,再按图 10设置生成为表添加主键和外键的SQL语句:

    图 10 生成创建表主键和外键的SQL语句

    除此设置外,还必须切换到Tables & Views页下,取消所有选项,避免重新生成创建表的语句。
    3、将子表的外键列的索引改为压缩型
    3.1 压缩型索引的原理和用途
    在前面的例子中,由于一条订单会对应多条订单条目,所以T_ORDER_ITEM的ORDER_ID字段总会出现重复的值,如:
    ITEM_ID ORDER_ID ITEM COUNT

    1 100 101 1

    2 100 104 2

    3 100 201 3

    4 200 301 2

    5 200 401 1

    6 200 205 3

    在ORDER_ID列上创建一个普通未压缩的B-Tree索引,则索引数据的物理上的存储形式如下:
    Ҷƪл˵?
  • һƪORACLE优化器 _数据库技巧
    һƪ用多活动结果集优化ADO.NET2.0数据连接_ADO.NET应用