sql >> データベース >  >> RDS >> Oracle

OracleDBの毎日のパーティショニング

    これは、Oracle 11gでそれを行う方法の例であり、非常にうまく機能します。 Oracle10gでは試していません。試すことができます。

    これが、毎日のパーティションを持つテーブルを作成する方法です。

    CREATE TABLE XXX (
        partition_date   DATE,
      ...,
      ...,
    )
    PARTITION BY RANGE (partition_date)
    INTERVAL (NUMTODSINTERVAL(1, 'day'))
    (
       PARTITION part_01 values LESS THAN (TO_DATE('2000-01-01','YYYY-MM-DD'))
    )
    TABLESPACE  MY_TABLESPACE
    NOLOGGING;
    

    上記のように、Oracleは、2000年1月1日以降、個別のpartition_dayごとに個別のパーティションを自動的に作成します。partition_dateがこの日付よりも古いレコードは、「part_01」というパーティションに格納されます。

    次のステートメントを使用して、テーブルパーティションを監視できます。

    SELECT * FROM user_tab_partitions WHERE table_name = 'XXX';
    

    その後、一部のパーティションを削除する場合は、次のコマンドを使用します。

    ALTER TABLE XXX DROP PARTITION AAAAAA UPDATE GLOBAL INDEXES
    

    ここで、「AAAAAA」はパーティション名です。

    お役に立てば幸いです!



    1. ドロップダウン選択に基づいてテーブル内のJSPでデータをフェッチする方法

    2. IPアドレス範囲で一致するMySQL詳細レコードの要約-mySQLJediKnightが必要

    3. WordPressのメタキーとmeta_valueクエリ

    4. MySQLSum列IFIDが別のテーブルクエリにある