Weird waste time when UNION ALL to an empty result set

Поиск
Список
Период
Сортировка
От Emanuel Calvo
Тема Weird waste time when UNION ALL to an empty result set
Дата
Msg-id CAGHEX6Z4bhLZ0H+5+T_n7S_eaS3eaeOEpCf0DouED_k-YiA60A@mail.gmail.com
обсуждение исходный текст
Ответы Re: Weird waste time when UNION ALL to an empty result set  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Based on this article ( http://thenoyes.com/littlenoise/?p=167 ) I was
trying to make the same in Pg to
see the effects (pg 9.1.1).

I found this:


postgres=# explain(buffers true, costs true, analyze true )  select i
from random_values;
                                                        QUERY PLAN

--------------------------------------------------------------------------------------------------------------------------
 Seq Scan on random_values  (cost=0.00..16897.00 rows=1000000 width=4)
(actual time=0.362..2804.651 rows=1000000 loops=1)
   Buffers: shared hit=576 read=6321
 Total runtime: 5340.656 ms
(3 rows)

Time: 5342.060 ms


postgres=# explain (buffers true, costs true, analyze true ) (select i
from random_values) UNION ALL (SELECT NULL LIMIT 0);
                                                              QUERY PLAN

--------------------------------------------------------------------------------------------------------------------------------------
 Result  (cost=0.00..16897.02 rows=1000001 width=4) (actual
time=0.203..13160.797 rows=1000000 loops=1)
   Buffers: shared hit=608 read=6289
   ->  Append  (cost=0.00..16897.02 rows=1000001 width=4) (actual
time=0.196..7925.918 rows=1000000 loops=1)
         Buffers: shared hit=608 read=6289
         ->  Seq Scan on random_values  (cost=0.00..16897.00
rows=1000000 width=4) (actual time=0.190..2852.144 rows=1000000
loops=1)
               Buffers: shared hit=608 read=6289
         ->  Limit  (cost=0.00..0.01 rows=1 width=0) (actual
time=0.007..0.007 rows=0 loops=1)
               ->  Result  (cost=0.00..0.01 rows=1 width=0) (never executed)
 Total runtime: 15680.066 ms
(9 rows)

Time: 15681.999 ms


10 seconds to UNION *nothing*? Is an expected behavior?


--
--
              Emanuel Calvo
              Helpame.com

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

Предыдущее
От: Mike Blackwell
Дата:
Сообщение: Re: SIGNALNAME in "pg_ctl kill"
Следующее
От: Robert Treat
Дата:
Сообщение: Re: SIGNALNAME in "pg_ctl kill"