Преимущества временных таблиц в PostgreSQL по сравнению с обычными таблицами:
- Эффективность при работе с большими объёмами данных. 4 Временные таблицы эффективно справляются с индексацией и собраны с помощью статистики, позволяя оптимизатору создавать эффективные планы выполнения. 4
- Доступность результатов для всех последующих запросов. 4 После материализации результаты работы временных таблиц доступны для всех последующих запросов без дополнительных вычислений. 4
Недостатки временных таблиц в PostgreSQL:
- Привязка к сессии. 2 Временная таблица относится к данной сессии и автоматически удаляется при её закрытии. 2
- Метаданные размещаются в постоянных системных таблицах. 5 Поэтому активное создание, модификация и удаление временных таблиц (включая их индексы) может привести к деградации производительности. 5
- Переполнение кеша ОС мусором. 1 Характерный паттерн работы с временными таблицами ведёт к этому. 1
- Недоступность для автовакуума. 1 Из-за этого таблица может неисправимо замусориваться. 1
Выбор между временными и обычными таблицами зависит от конкретных задач и требований к производительности.