Почти. Я нахожу этот пример довольно запутанным, и мне пришлось его протестировать, прежде чем разбираться в нем.
Таблица разделена на части sales_q1_2006 ... sales_q4_2006. A time_id
первого квартала 2006 г. попадает в раздел sales_q1_2006, et c. Каждый из этих разделов разделен на 8 подразделов значением ha sh столбца cust_id
.
Теперь бит (ts1, ts2, ts3, ts4)
. Немного легче понять, если использовать 8 табличных пространств для 8 подразделов:
SUBPARTITIONS 8 STORE IN (ts1, ts2, ts3, ts4, ts5, ts6, ts7, ts8)
Если вы создаете таблицу, каждая из 8 частей сохраняется в отдельном табличном пространстве:
SELECT partition_position AS pos, partition_name, subpartition_name, tablespace_name
FROM USER_TAB_SUBPARTITIONS
ORDER BY table_name, partition_position, subpartition_name;
POS PARTITION SUBPARTITION TABLESPACE
1 SALES_Q1_2006 SYS_SUBP525 TS1
1 SALES_Q1_2006 SYS_SUBP526 TS2
1 SALES_Q1_2006 SYS_SUBP527 TS3
1 SALES_Q1_2006 SYS_SUBP528 TS4
1 SALES_Q1_2006 SYS_SUBP529 TS5
1 SALES_Q1_2006 SYS_SUBP530 TS6
1 SALES_Q1_2006 SYS_SUBP531 TS7
1 SALES_Q1_2006 SYS_SUBP532 TS8
2 SALES_Q2_2006 SYS_SUBP533 TS1
2 SALES_Q2_2006 SYS_SUBP534 TS2
2 SALES_Q2_2006 SYS_SUBP535 TS3
...
Итак, первые подразделы ha sh всех разделов хранятся в табличном пространстве ts1, вторые подразделы ha sh всех разделов хранятся в табличном пространстве ts2, et c. до табличного пространства ts8.
Возвращаясь к вашему примеру, с 4 именами табличных пространств и 8 подразделами: четыре указанных табличных пространства с ts1 по ts4 просто циклически просматриваются, пока все подразделы не получат табличное пространство. В вашем примере 8 подразделов go для табличных пространств ts1, ts2, ts3, ts4, ts1, ts2, ts3 и ts4:
SELECT partition_position AS pos, partition_name, subpartition_name, tablespace_name
FROM USER_TAB_SUBPARTITIONS
ORDER BY table_name, partition_position, subpartition_name;
POS PARTITION SUBPARTITION TABLESPACE
1 SALES_Q1_2006 SYS_SUBP589 TS1 <= first cycle
1 SALES_Q1_2006 SYS_SUBP590 TS2
1 SALES_Q1_2006 SYS_SUBP591 TS3
1 SALES_Q1_2006 SYS_SUBP592 TS4
1 SALES_Q1_2006 SYS_SUBP593 TS1 <= next cycle
1 SALES_Q1_2006 SYS_SUBP594 TS2
1 SALES_Q1_2006 SYS_SUBP595 TS3
1 SALES_Q1_2006 SYS_SUBP596 TS4
2 SALES_Q2_2006 SYS_SUBP597 TS1 <= next partition
2 SALES_Q2_2006 SYS_SUBP598 TS2
2 SALES_Q2_2006 SYS_SUBP599 TS3
...