У меня есть таблица продуктов с огромным количеством данных. Я уже сделал индексирование, но все еще занимал больше времени, чем ожидалось, при поиске данных. Теперь я хочу разделить мою таблицу на основе столбца категории, который содержит строку. Всего в моей таблице 168 типов категорий.
Это мой запрос для получения раздела:
ALTER TABLE products PARTITION BY LIST COLUMNS (category) (
PARTITION category1 VALUES IN ('Battery Trays') ,
PARTITION category2 VALUES IN ('Auto Glass') ,
PARTITION category3 VALUES IN ('Bumpers AND Parts')
);
Но он возвращает ошибку:
Error Code: 1503
A PRIMARY KEY must include all columns in the table's partitioning function
Вот структура моей таблицы
https://ibb.co/4jY9Tcv
Кто-нибудь знает правильный метод разбиения? Почему я должен включить PK для всех столбцов в таблице, как говорит ошибка?