[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 数据库子站 > 数据库技巧

创建与维护Oracle分区表和本地索引

作者: gaiguoqiang,  出处:blog, 责任编辑: 徐菲, 
2008-08-26 08:01
  Oracle的分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对于分区及本地索引的一个示例。

  Oracle分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对于分区及本地索引的一个示例。

  首先根据字典表创建一个测试分区表:

      SQL> connect eygle/eygle
  Connected.
  SQL> CREATE TABLE dbobjs
  2 (OBJECT_ID NUMBER NOT NULL,
  3 OBJECT_NAME varchar2(128),
  4 CREATED DATE NOT NULL
  5 )
  6 PARTITION BY RANGE (CREATED)
  7 (PARTITION dbobjs_06 VALUES LESS THAN (TO_DATE('01/01/2007', 'DD/MM/YYYY')),
  8 PARTITION dbobjs_07 VALUES LESS THAN (TO_DATE('01/01/2008', 'DD/MM/YYYY')));
  Table created.
  SQL> COL segment_name for a20
  SQL> COL PARTITION_NAME for a20
  SQL> SELECT segment_name, partition_name, tablespace_name
  2 FROM dba_segments
  3 WHERE segment_name = 'DBOBJS';
  SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME
  -------------------- -------------------- ------------------------------
  DBOBJS DBOBJS_06 EYGLE
  DBOBJS DBOBJS_07 EYGLE

  创建一个Local索引,注意这里可以将不同分区的索引指定创建到不同的表空间

      SQL> CREATE INDEX dbobjs_idx ON dbobjs (created) LOCAL
  2 (PARTITION dbobjs_06 TABLESPACE users,
  3 PARTITION dbobjs_07 TABLESPACE users
  4 );
  Index created.

  这个子句可以进一步调整为类似:

      CREATE INDEX dbobjs_idx ON dbobjs (created) LOCAL
  (PARTITION dbobjs_06 TABLESPACE users,
  PARTITION dbobjs_07 TABLESPACE users
  ) TABLESPACE users;

  

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅