Re: seemingly slow for-loop in plpgsql

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: seemingly slow for-loop in plpgsql
Дата
Msg-id 7518.1220395649@sss.pgh.pa.us
обсуждение исходный текст
Ответ на seemingly slow for-loop in plpgsql  ("Claus Guttesen" <kometen@gmail.com>)
Ответы Re: seemingly slow for-loop in plpgsql  ("Claus Guttesen" <kometen@gmail.com>)
Список pgsql-sql
"Claus Guttesen" <kometen@gmail.com> writes:
> create or replace function update_hashcode() returns setof duplicates as
> $body$
> declare
>   d duplicates%rowtype;
>   h text;
> begin
>   for d in select * from duplicates where length(hashcode) = 33 loop
>     h := rtrim(d.hashcode, E'\n');
>     update duplicates set hashcode = h where id = d.id;
>     return next d;
>   end loop;
> end
> $body$
> language 'plpgsql' ;

Why in the world are you using a for-loop for this at all?  It would be
tremendously faster as a single SQL command:

update duplicates set hashcode = rtrim(hashcode, E'\n') where length(hashcode) = 33;
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: "Claus Guttesen"
Дата:
Сообщение: seemingly slow for-loop in plpgsql
Следующее
От: Achilleas Mantzios
Дата:
Сообщение: Re: order of rows in update