Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle Partition według ID i podpartycji według DATE z interwałem

Możesz wykonać RANGE INTERVAL partycja w dniu, a następnie LIST lub RANGE podpartycja na nim. Byłoby tak:

CREATE TABLE MY_PART_TABLE
(
  CUSTOMER_ID                      NUMBER             NOT NULL,
  THE_DATE                 TIMESTAMP(0) NOT NULL,
  OTHER_COLUMNS NUMBER
)
PARTITION BY RANGE (THE_DATE) INTERVAL (INTERVAL '1' MONTH)
    SUBPARTITION BY RANGE (CUSTOMER_ID)
        SUBPARTITION TEMPLATE (
        SUBPARTITION CUSTOMER_GROUP_1 VALUES LESS THAN (10),
        SUBPARTITION CUSTOMER_GROUP_2 VALUES LESS THAN (20),
        SUBPARTITION CUSTOMER_GROUP_3 VALUES LESS THAN (30),
        SUBPARTITION CUSTOMER_GROUP_4 VALUES LESS THAN (40),
        SUBPARTITION CUSTOMER_GROUP_5 VALUES LESS THAN (MAXVALUE)
        )
(PARTITION VALUES LESS THAN ( TIMESTAMP '2015-01-01 00:00:00') );



CREATE TABLE MY_PART_TABLE
(
  CUSTOMER_ID                      NUMBER             NOT NULL,
  THE_DATE                 TIMESTAMP(0) NOT NULL,
  OTHER_COLUMNS NUMBER
)
PARTITION BY RANGE (THE_DATE) INTERVAL (INTERVAL '1' MONTH)
    SUBPARTITION BY LIST (CUSTOMER_ID)
        SUBPARTITION TEMPLATE (
        SUBPARTITION CUSTOMER_1 VALUES (1),
        SUBPARTITION CUSTOMER_2 VALUES (2),
        SUBPARTITION CUSTOMER_3_to_6 VALUES (3,4,5,6),
        SUBPARTITION CUSTOMER_7 VALUES (7)
        )
(PARTITION VALUES LESS THAN ( TIMESTAMP '2015-01-01 00:00:00') );

Uwaga, dla drugiego rozwiązania liczba (tj. ID) klienta jest stała. Jeśli zdobędziesz nowych klientów, musisz zmienić tabelę i odpowiednio zmodyfikować SZABLON PODPARTYCJI.

Partycje miesięczne będą tworzone automatycznie przez Oracle po wstawieniu lub zaktualizowaniu nowych wartości.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie oddzielone przecinkami dla wielu parametrów w PLSQL

  2. Tworzenie bazy danych Oracle 12c – krok po kroku

  3. Semantyka CHAR i ORA-01461

  4. Wskazówka Oracle WITH i MATERIALIZE działa jako autonomiczna transakcja dla funkcji

  5. oracle konwertuj czas epoki unix na datę