я бы хотел разделение моя огромная таблица для решения проблемы с производительностью, но атрибут, на котором я хочу разделить мою таблицу, находится в другой таблице, которая связана FK.
Вот мои таблицы:
Article (Table1)
id
submit_date
...
Concept (Table2)
id
article_id (FK)
...
Итак, я хочу разделить Концепция таблица на основе submit_date атрибут из таблицы товаров (например, разбить по месяцам). Возможно ли это с PostgreSQL?
Конечно. Вы можете разделить на любые поля или сложные запросы, которые хотите - INSERT
обрабатывается триггером, а SELECT
по наследованию таблиц.
В вашем случае триггер для Концепция таблице потребуется выполнить соответствующий запрос на submit_date чтобы определить, в какой раздел вставить. Если у вас уже есть данные в Концепция table вам нужно будет немного поработать, чтобы разбить существующие данные:
INSERT
данные в каждый разделINSERT INTO Concept_0001 SELECT * FROM Concept WHERE …
)DROP
исходную таблицу и воссоздайте ее, чтобы унаследовать от разделителей.Ты читал документация Postgres по разделам таблиц и наследование таблицы? Это в значительной степени является предварительным условием для попытки любого вида разделения таблицы в Postgres ...