Re: explain analyze faster then query

From: Mariel Cherkassky <mariel(dot)cherkassky(at)gmail(dot)com>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: explain analyze faster then query
Date: 2018-11-25 13:37:46
Message-ID: CA+t6e1kk+OW8_3uMOzE5fghOK0ommQjhyoGOgOd8XsnpFaYCKg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-performance

I run it from inside the machine on the local database.
For example :

db=# create table rule_test as select generate_series(1,100000000);
SELECT 100000000

db=# explain analyze select generate_series from rule_test order by
generate_series asc;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------
Sort (cost=17763711.32..18045791.04 rows=112831890 width=4) (actual
time=62677.752..100928.829 rows=100000000 loops=1)
Sort Key: generate_series
Sort Method: external merge Disk: 1367624kB
-> Seq Scan on rule_test (cost=0.00..1570796.90 rows=112831890
width=4) (actual time=0.019..36098.463 rows=100000000 loops=1)
Planning time: 0.072 ms
Execution time: 107025.113 ms
(6 rows)

db=# create index on rule_test(generate_series);
CREATE INDEX
db=# select generate_series from rule_test order by generate_series asc;

db=# explain analyze select generate_series from rule_test order by
generate_series asc;

QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Index Only Scan using rule_test_generate_series_idx on rule_test
(cost=0.57..2490867.57 rows=100000000 width=4) (actual
time=0.103..63122.906 rows=100000000 loops=1)
Heap Fetches: 100000000
Planning time: 6.682 ms
Execution time: 69265.311 ms
(4 rows)

db=# select generate_series from rule_test order by generate_series asc;
stuck for more then a hour

‫בתאריך יום א׳, 25 בנוב׳ 2018 ב-15:30 מאת ‪Justin Pryzby‬‏ <‪
pryzby(at)telsasoft(dot)com‬‏>:‬

> Cc: pgsql-performance(at)lists(dot)postgresql(dot)org,
> pgsql-admin(at)lists(dot)postgresql(dot)org
>
> Please avoid simultaneously sending the same question to multiple lists.
>
> It means that people can't see each others replies and everything that
> implies.
>
> On Sun, Nov 25, 2018 at 03:08:33PM +0200, Mariel Cherkassky wrote:
> > However when I run the query without the explain analyze it takes forever
> > to run it(More then two hours).
> > Is there a possibility that it is related to fetching or something like
> > that ?
>
> If it's a remote database, I expect that's why.
> Maybe you can test by running the query on the DB server.
> Or by running another variant of the query, such as:
>
> WITH x AS (QUERY GOES HERE) SELECT 1;
>
> which returns only one row but after having executed the query behind CTE,
> as
> optimization fence.
>
> Justin
>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Justin Pryzby 2018-11-25 14:12:25 Re: explain analyze faster then query
Previous Message Justin Pryzby 2018-11-25 13:30:02 Re: explain analyze faster then query

Browse pgsql-performance by date

  From Date Subject
Next Message Justin Pryzby 2018-11-25 14:12:25 Re: explain analyze faster then query
Previous Message Justin Pryzby 2018-11-25 13:30:02 Re: explain analyze faster then query