powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Использование временных таблиц для оптимизации. Есть ли смысл?
3 сообщений из 3, страница 1 из 1
Использование временных таблиц для оптимизации. Есть ли смысл?
    #39996098
Kr_Yury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моё руководство в использовании временных таблиц видит панацею, когда другими способами невозможно ускорить запрос. Действительно ли есть случаи когда это помогает? И есть ли разница - вынести часть общего запроса в CTE или во временную таблицу? В своей практике только один раз делал такое. В общем запросе по одной из таблиц никак не подхватывался нужный индекс. Вынес запрос по ней во временную таблицу. Работаю с 10-й версией Postgresql
...
Рейтинг: 0 / 0
Использование временных таблиц для оптимизации. Есть ли смысл?
    #39996139
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kr_Yury
Моё руководство в использовании временных таблиц видит панацею, когда другими способами невозможно ускорить запрос. Действительно ли есть случаи когда это помогает? И есть ли разница - вынести часть общего запроса в CTE или во временную таблицу? В своей практике только один раз делал такое. В общем запросе по одной из таблиц никак не подхватывался нужный индекс. Вынес запрос по ней во временную таблицу. Работаю с 10-й версией Postgresql


такие ситуации бывают с большими отчетами, но редко

для чего нужна временная таблица
1)возможность построить СТАТИСТИКУ по промежуточному результату для получения нормального плана с его использованием
(не забывать analyze временной таблицы после заполнения)
когда через CTE получается критически большая ошибка в оценке количества строк или их распределения.

2)возможность построить ИНДЕКС по временной таблице для оптимизации дальнейшего выполнения запроса
(не забывать create index/analyze после заполнения)


если же ни analyze ни create index по временным таблицам не используются или ничем не помогают - CTE лучше...
временные таблицы очень дорогое решение в postgresql и если запрос отрабатываем быстрее секунды то смысла в них нет
да и если быстрее минуты - сомнителен
если там у вас часовой запрос и если проблема именно в кривой оценке количества строк планировщиком - можно попробовать через временные таблицы поправить.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Использование временных таблиц для оптимизации. Есть ли смысл?
    #39996273
Kr_Yury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk, спасибо за подробный ответ.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Использование временных таблиц для оптимизации. Есть ли смысл?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]