TGViewer
Антон Дорошкевич | маяк в мире 1С и СУБД Антон Дорошкевич | маяк в мире 1С и СУБД @explorer1c · 2.02K subscribers
Post #89 2.16K
Статистика по временным таблицам в PostgrePRO - другой подход

Сначала о проблематике:
В 1С мы с вами обожаем создавать и использовать в запросах временные таблицы, причём создавать и заполнять их тысячами в секунду в рамках одного сервера СУБД.

При этом лучшая в мире платформа 1С, после заполнения каждой временной таблицы даёт команду ANALYZE ##tt1, где ##tt1 имя нашей временной таблицы.

При этом статистика считается по каждой колонке временной таблицы.

Это влечёт за собой серьёзные траты ресурсов сервера на расчёт статистики именно по временным таблицам.

Расширение pgpro_temp_stats предлагает интересный подход к решению этой проблемы, побочным эффектом которого может стать ускорение запросов с временными таблицами!

Кратко:
1. При включении параметра pgpro_temp_stats.skip_analyze - игнорируем команды ANALYZE по целым таблицам, т.е. пока не греем воздух просто расчётом статистики
2. При включении параметра pgpro_temp_stats.create_statistics - расширение считает статистику только по тем столбцам временной таблицы, которые задействованы в запросе.
Более того, считается не просто статистика, а расширенная статистика, т.е. не по каждому столбцу в отдельности, а по всем столбцам из запроса сразу.
Что позволяет планировщику получить более оптимальный план запроса.
3. Так же расширение запоминает уже посчитанную статистику для таблицы, так как мы же можем её и второй раз использовать. Если в новом запросе поля те же, то статистика не считается, так как она уже есть, если же поля другие, то считаем по новому набору полей.
Сколько таких запоминать регулируется параметром pgpro_temp_stats.ts_max_items

Расширение доступно в 17 и 18 версиях PGRPO Enterprise.

Мы протестировали - нам понравилось!)

Ну и на всякий случай канал в MAX https://max.ru/explorer1c
  • 👍 30
  • ❤ 5
  • 🔥 4
More from @explorer1c
  1. Sep 21, 2026Можно ли сделать поведение PostgreSQL в отношении потребления памяти процессами более жест…
  2. Sep 11, 2026Сегодня ровно год первому сообщению в канале! Огромное спасибо всем вам! Честно - было оче…
  3. Sep 9, 2026Теперь на багборде можно легко и быстро сравнить версии платформы по изменениям! Уверен чт…
  4. Sep 7, 2026Начнём...)
  5. Sep 2, 2026Как собрать для анализа запроса все временные таблицы с их содержимым? Все мы хорошо знаем…
  6. Aug 26, 2026Небольшой анонс поездок и мероприятий с моим участием: 08-10/09 - Обучение по кластеру 1с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →