Высокий уровень Postgres работает со скоростью INSERT / UPDATE? - PullRequest
1 голос
/ 11 августа 2010

Я знаю, что когда я UPDATE строка в Pg, эта строка перезаписывается и старая строка деактивируется, когда активируется новая строка.Я знаю, что это связано с тем, как реализован уровень MVCC.

Каковы преимущества UPDATE над DELETE ... INSERT?Что еще можно сказать об отношениях UPDATE и DELETE в Postgresql?Я не могу найти никаких документов, в которых говорится об этом или сообщениях в списке рассылки. Очевидно, что они запускают разные пользовательские триггеры, если таковые имеются, но что происходит под капотом, чтобы дать им разные профили производительности?

1 Ответ

4 голосов
/ 11 августа 2010

УДАЛЕНИЕ вызовет ограничения внешнего ключа, вы можете их нарушить.Другие триггеры также могут быть проблемой.

Если вы измените FILLFACTOR , вы также предоставите базе данных возможность HOT обновить .Это обновление внутри того же блока памяти, в котором находится исходная запись.ГОРЯЧИЕ обновления могут быть намного быстрее и генерировать намного меньше накладных расходов (вакуум), чем обычное обновление.

...