ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle11g分區表建立

oracle11g分區表建立

原创 Linux操作系统 作者:deitylee 时间:2011-11-21 10:15:09 0 删除 编辑

        數據庫中有一個表達到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;

執行速度非常的快。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16381228/viewspace-711676/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-10-27

  • 博文量
    74
  • 访问量
    403799