Введенное в Oracle 8i разделение по списку (list partitioning, секционирование по списку) позволяет разбить таблицу по различным значениям определенного столбца. Например, таблица, хранящая итоговые данные о продажах по товарам, штатам и месяцам/годам, может быть разделена по географическим регионам:
CREATE TABLE sales_fact (
State_cd VARCHAR2(3) NOT NULL,
month_cd NUMBER(2) NOT NULL ,
year_cd NUMBER(4) NOT NULL ,
prcduct.cd VARCHAR2(10) NOT NULL .
tot_sales NUM8ER(9,2) NOT NULL )
PARTITION BY LIST (state_cd)
(PARTITION sales_newengland VALUES ('CT' , 'RI', 'MA', 'NH', 'ME', 'VT')
TABLESPACE s1,
(PARTITION sales_northwest VALUES ('OR' , 'WA', 'MA', 'ID', 'WY', 'AK')
TABLESPACE s2,
(PARTITION sales_southwest VALUES ('NV' , 'UT', 'AZ', 'NN', 'CO', 'HI')
TABLESPACE s3,
(PARTITION sales_southeast VALUES ('FL' , 'GA', 'AL', 'SC', 'NC', 'TH', 'WV')
TABLESPACE s4);
Разделение (секционирование) по списку удобно для данных низкой мощности, когда количество различных значений столбца мало по сравнению с количеством строк. В отличие от разделения по диапазону и хеш-разделения, при которых ключ разделения может состоять из нескольких столбцов, ключ секционирования по списку всегда ограничен одним столбцом. Казалось бы, композитное разделение могло бы предлагать на первом уровне как разделение по диапазону, так и разделение по списку, но пока в Oracle реализовано только совместное использование разделения по диапазону и хеш-разделения.