创建与维护Oracle分区表和本地索引
2008-08-26 12:44:08 来源:WEB开发网Oracle的分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对于分区及本地索引的一个示例。
首先根据字典表创建一个测试分区表:
SQL>connecteygle/eygle
Connected.
SQL>CREATETABLEdbobjs
2(OBJECT_IDNUMBERNOTNULL,
3OBJECT_NAMEvarchar2(128),
4CREATEDDATENOTNULL
5)
6PARTITIONBYRANGE(CREATED)
7(PARTITIONdbobjs_06VALUESLESSTHAN(TO_DATE('01/01/2007','DD/MM/YYYY')),
8PARTITIONdbobjs_07VALUESLESSTHAN(TO_DATE('01/01/2008','DD/MM/YYYY')));
Tablecreated.
SQL>COLsegment_namefora20
SQL>COLPARTITION_NAMEfora20
SQL>SELECTsegment_name,partition_name,tablespace_name
2FROMdba_segments
3WHEREsegment_name='DBOBJS';
SEGMENT_NAMEPARTITION_NAMETABLESPACE_NAME
----------------------------------------------------------------------
DBOBJSDBOBJS_06EYGLE
DBOBJSDBOBJS_07EYGLE
创建一个Local索引,注意这里可以将不同分区的索引指定创建到不同的表空间:
SQL>CREATEINDEXdbobjs_idxONdbobjs(created)LOCAL
2(PARTITIONdbobjs_06TABLESPACEusers,
3PARTITIONdbobjs_07TABLESPACEusers
4);
Indexcreated.
这个子句可以进一步调整为类似:
CREATEINDEXdbobjs_idxONdbobjs(created)LOCAL
(PARTITIONdbobjs_06TABLESPACEusers,
PARTITIONdbobjs_07TABLESPACEusers
)TABLESPACEusers;
通过统一的tablespace子句为索引指定表空间。
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接