Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Использование временных таблиц для оптимизации. Есть ли смысл?
|
|||
|---|---|---|---|
|
#18+
Моё руководство в использовании временных таблиц видит панацею, когда другими способами невозможно ускорить запрос. Действительно ли есть случаи когда это помогает? И есть ли разница - вынести часть общего запроса в CTE или во временную таблицу? В своей практике только один раз делал такое. В общем запросе по одной из таблиц никак не подхватывался нужный индекс. Вынес запрос по ней во временную таблицу. Работаю с 10-й версией Postgresql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2020, 10:20 |
|
||
|
Использование временных таблиц для оптимизации. Есть ли смысл?
|
|||
|---|---|---|---|
|
#18+
Kr_Yury Моё руководство в использовании временных таблиц видит панацею, когда другими способами невозможно ускорить запрос. Действительно ли есть случаи когда это помогает? И есть ли разница - вынести часть общего запроса в CTE или во временную таблицу? В своей практике только один раз делал такое. В общем запросе по одной из таблиц никак не подхватывался нужный индекс. Вынес запрос по ней во временную таблицу. Работаю с 10-й версией Postgresql такие ситуации бывают с большими отчетами, но редко для чего нужна временная таблица 1)возможность построить СТАТИСТИКУ по промежуточному результату для получения нормального плана с его использованием (не забывать analyze временной таблицы после заполнения) когда через CTE получается критически большая ошибка в оценке количества строк или их распределения. 2)возможность построить ИНДЕКС по временной таблице для оптимизации дальнейшего выполнения запроса (не забывать create index/analyze после заполнения) если же ни analyze ни create index по временным таблицам не используются или ничем не помогают - CTE лучше... временные таблицы очень дорогое решение в postgresql и если запрос отрабатываем быстрее секунды то смысла в них нет да и если быстрее минуты - сомнителен если там у вас часовой запрос и если проблема именно в кривой оценке количества строк планировщиком - можно попробовать через временные таблицы поправить. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2020, 12:41 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39996139&tid=1994483]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 155ms |

| 0 / 0 |
