oracle11g分區表建立

        數據庫中有一個表達到5-6千萬行記錄,刪除一個月的數據時特別的慢,所以確定建立為分區表,定時刪除最早一個月的數據,使正式運行的數據保留半年的數據。

建立步驟如下:

1.對當前表做重命名:SQL>rename  rfid_record to rfid_record_tmp;

2.建立自動按月分區表

SQL>CREATE TABLE RFID_RECORD PARTITION BY RANGE (arrive_time) INTERVAL(NUMTOYMINTERVAL(1, 'month')) (PARTITION P1 VALUES LESS THAN (TO_DATE('2011-11-01', 'yyyy-mm-dd'))) TABLESPACE RFID  AS SELECT * FROM RFID_RECORD_TMP;

INTERVAL自動添加分區的條件,所有arrive_time小于2011-11-01放在p1分區中,其他按照每月自動添加分區。

3.建立索引,對原來RFID_RECORD的tigger做修改。

4.如果以后要刪除其中一個月的數據只要刪除一個分區就可以了

SQL>ALTER TABLE RFID_RECORD DROP PARTITION P1;

執行速度非常的快。

请使用浏览器的分享功能分享到微信等