oracle分区交换有啥好处,分区交换的速度为什么快?
Oracle的分區(qū)交換功能,用來實現(xiàn)對數(shù)據(jù)“滑動窗口”操作,就是可以把數(shù)據(jù)從分區(qū)表中指定分區(qū)移出到一個表,或把一個表的數(shù)據(jù)移入到指定的分區(qū)中。[@more@]
分區(qū)交換的速度是非常快速的,只是數(shù)據(jù)字典的更新,在移動過程中,數(shù)據(jù)行的rowid都不會發(fā)生變化。實驗過程如下:
1. 創(chuàng)建分區(qū)表
SQL> Create Table range_example(Id Number,Name Varchar2(20),DeptNO Varchar2(20))
2 Partition By List(DeptNO)
3 (
4 Partition p_mz Values('MZ'),
5 Partition p_zy Values('ZY')
6 )
7 ;
Table created
2.插入數(shù)據(jù),表有兩個分區(qū)
SQL> insert into range_example values
2 (1,'hxb','MZ');
1 row inserted
SQL> insert into range_example values
2 (1,'xzh','ZY');
1 row inserted
SQL> commit;
Commit complete
3.添加一個分區(qū),以便做exhange操作
SQL> alter table range_example add partition p_qt values('QT');
Table altered
4.創(chuàng)建交換數(shù)據(jù)的表
SQL> create table emp(Id Number,Name Varchar2(20),DeptNO Varchar2(20))
2 ;
Table created
SQL> insert into emp values
2 (1,'phj','QT');
1 row inserted
SQL> commit;
Commit complete
5.查詢rowid
SQL> select rowid from emp;
ROWID
------------------
AAASygAAHAACemwAAA
6.執(zhí)行交換操作
SQL> alter table range_example
2 exchange partition p_qt
3 with table emp
4 without validation
5 ;
Table altered
7.分區(qū)交換后,發(fā)現(xiàn)rowid沒有發(fā)生變化
SQL> select * from range_example partition(p_qt);
ID NAME DEPTNO
---------- -------------------- --------------------
1 phj QT
SQL> select rowid from range_example partition(p_qt);
ROWID
------------------
AAASygAAHAACemwAAA
SQL>
總結
以上是生活随笔為你收集整理的oracle分区交换有啥好处,分区交换的速度为什么快?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: krsort函数怎么用php,krsor
- 下一篇: oracle 11g 清除 trc后缀文