Postgres: обновление неизмененных строк - PullRequest
4 голосов
/ 08 августа 2011

Скажите, у меня следующий запрос:

UPDATE table_name
SET column_name1 = column_value1, ..., column_nameN = column_valueN
WHERE id = M

Дело в том, что column_value1, ..., column_valueN не изменились. Будет ли этот запрос действительно выполнен, и как насчет производительности в этом случае по сравнению с обновлением с действительно измененными данными? Что если у меня около 50 таких запросов на страницу с неизмененными данными?

1 Ответ

4 голосов
/ 09 августа 2011

Вам нужно помочь postgresql, указав только измененные столбцы и строки. Он продолжит работу и выполнит обновление всего, что вы укажете, без проверки, изменились ли данные.

p.s. Вот где ORM пригодится.

РЕДАКТИРОВАТЬ: Вы также можете быть заинтересованы в Как я могу ускорить операции обновления / замены в PostgreSQL? , где OP прошел через все проблемы, чтобы ускорить производительность UPDATE, когда лучшая производительность может быть достигается путем обновления только измененных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...