Hi folks, I was wondering if postgres executes a subquery in an UPDATE clause once and use the result (of the subquery) for all the updates. Example: UPDATE table SET field1 = (SELECT field2 FROM table2 WHERE field3 = '123') Sorry if it seems to be a stupid question, but sometimes this kind of update is so slow in my server, that makes me suspicious. TIA -- Diogo de Oliveira Biazus diogo@ikono.com.br Ikono Sistemas e Automação http://www.ikono.com.br
Diogo Biazus <diogo@ikono.com.br> writes:
> I was wondering if postgres executes a subquery in an UPDATE clause once
> and use the result (of the subquery) for all the updates.
It should if the subquery is not dependent on any variables of the outer
table. To tell, run EXPLAIN on the query and look to see if you see
"InitPlan" (done once) or "SubPlan" (done each time result is needed).
regards, tom lane
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера