Обновить
1

Пользователь

Отправить сообщение

Спасибо, интересная статья.

  1. Удалось выяснить, почему создание индексов на новой таблице без dead tuples все равно вызывает bloat?

  2. Какие выводы сделали для того, чтобы поддерживать bloat на низком уровне (кроме уменьшения update-ов)? Рассматривали ли постановку VACUUM FULL на крон в моменты низкой активности? Или настроили свой алгоритм на крон?

Встречал такие случаи в работе, приходилось выкручиваться материализацией:

with q as materialized (
  select raw_data.val
  from temp.raw_data
  join temp.numbers using (id)
)
select q.val
from q
where cast(q.val as integer) > 0;

Однако, такое работает только с Postgres >12 и только в случае, если используются CTE, а не подзапрос. Так что необходимость в переписывании всё равно остается.

Очень интересно, спасибо!

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность