для оптимизации в ситуации когда есть множество (десятки тысяч в минуту) мелких UPDATE-запросов? Или это не имеет смысла?
ну проиндексировать колонку/колонки из where в этих апдейтах
всегда можно что-то сделать. в целом нужно понять куда сейчас тратится время и попытаться его уменьшить.
Не имеет смысла
Лучше даже не так формулировать. А так: понять, что сейчас плохо, и как сделать лучше.
Выкинуть неиспользуемые индексы
понял, спасибо
Батчить, чтобы было меньшэ транзакцый. Создание не-readonly транзакцыи недёшэво. Следить, чтобы не было долгих транзакцый (дольшэ пары минут). Все версии строк, которые хоть когда-то за время долгой транзакцыи были нужны — сохраняются в базе пока она не закончится. Ограничивать количество индэксов. Обновление каждого индэкса — затратно. Попробовать, можэт получится создать условия лля hot update https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/access/heap/README.HOT
А, я на название группы не посмотрел. Сервер-то какой?
а вы читаете что пишите или просто пишите? если читаете, то как часто вы читаете одну и ту же запись?
если честно, есть подозрение что вообще не читаем!
Обсуждают сегодня