assignment vs SELECT INTO

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема assignment vs SELECT INTO
Дата
Msg-id 5457DECE.3070302@dunslane.net
обсуждение исходный текст
Ответы Re: assignment vs SELECT INTO  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: assignment vs SELECT INTO  (Matheus de Oliveira <matioli.matheus@gmail.com>)
Список pgsql-performance
I found out today that direct assignment to a composite type is (at
least in my test) about 70% faster than setting it via SELECT INTO. That
seems like an enormous difference in speed, which I haven't really been
able to account for.

Test case:

    andrew=# \d abc
           Table "public.abc"
      Column |  Type   | Modifiers
    --------+---------+-----------
      x      | text    |
      y      | text    |
      z      | integer |
    andrew=# do $x$ declare r abc; begin for i in 1 .. 10000000 loop
    select 'a','b',i into r.x,r.y,r.z; end loop; end; $x$;
    DO
    Time: 63731.434 ms
    andrew=# do $x$ declare r abc; begin for i in 1 .. 10000000 loop r
    := ('a','b',i); end loop; end; $x$;
    DO
    Time: 18744.151 ms


Is it simply because the SELECT is in effect three assignments, so it
takes nearly 3 times as long?

cheers

andrew


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

Предыдущее
От: Felipe Santos
Дата:
Сообщение: Re: Replication Lag Causes
Следующее
От: Tom Lane
Дата:
Сообщение: Re: assignment vs SELECT INTO