WEB开发网
开发学院数据库Oracle Oracle数据库中分区表的操作方法简介 阅读

Oracle数据库中分区表的操作方法简介

 2007-05-05 12:03:17 来源:WEB开发网   
核心提示: 指定了在第一个分区中更新记录,但是条件中限制交易ID为6,Oracle数据库中分区表的操作方法简介(6),而查询全表,交易ID为6的记录在第三个分区中,当分区中出现许多事务并且要保证所有分区中的数据记录的唯一性时采用全局索引,1.3.1. 局部索引分区的建立:以下为引用的内容:SQL>

指定了在第一个分区中更新记录,但是条件中限制交易ID为6,而查询全表,交易ID为6的记录在第三个分区中,这样该条语句将不会更新记录。

1.2.4. 删除分区表记录:

以下为引用的内容:SQL> delete from dinya_test partition(part_02) t where t.transaction_id=4;
1 row deleted.
SQL> commit;
Commit complete.
SQL>

上面例子删除了第二个分区part_02中的交易记录ID为4的一条记录,和更新数据相同,如果指定了分区,而条件中的数据又不在该分区中时,将不会删除任何数据。

1.3. 分区表索引的使用:

分区表和一般表一样可以建立索引,分区表可以创建局部索引和全局索引。当分区中出现许多事务并且要保证所有分区中的数据记录的唯一性时采用全局索引。

1.3.1. 局部索引分区的建立:

以下为引用的内容:SQL> create index dinya_idx_t on dinya_test(item_id)
2 local
3 (
4 partition idx_1 tablespace dinya_space01,
5 partition idx_2 tablespace dinya_space02,
6 partition idx_3 tablespace dinya_space03
7 );
Index created.
SQL>

看查询的执行计划,从下面的执行计划可以看出,系统已经使用了索引:

以下为引用的内容:SQL> select * from dinya_test partition(part_01) t where t.item_id=12;
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=187)
1 0 TABLE ACCESS (BY LOCAL INDEX ROWID) OF ’DINYA_TEST’ (Cost=
2 Card=1 Bytes=187)
2 1 INDEX (RANGE SCAN) OF ’DINYA_IDX_T’ (NON-UNIQUE) (Cost=1
Card=1)
Statistics
0 recursive calls
0 db block gets
4 consistent gets
0 physical reads
0 redo size
334 bytes sent via SQL*Net to client
309 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
2 rows processed
SQL>

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Oracle 数据库 分区表

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接