Re: Large tables, ORDER BY and sequence/index scans

From: Milan Zamazal <pdm(at)brailcom(dot)org>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Large tables, ORDER BY and sequence/index scans
Date: 2010-01-05 13:31:26
Message-ID: 877hrw7k5t.fsf@blackbird.nest.zamazal.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

>>>>> "PS" == Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> writes:

PS> please, send explain result

For ~ 10 million rows table:

explain declare c cursor for select * from foo2 order by value;
QUERY PLAN
----------------------------------------------------------------------
Sort (cost=1829429.20..1854429.20 rows=9999999 width=10)
Sort Key: value
-> Seq Scan on foo2 (cost=0.00..154049.99 rows=9999999 width=10)
(3 rows)

For ~ 1 million rows table, containing the first million rows from foo2
(`value' column contains random integer data):

explain declare c cursor for select * from foo order by value;
QUERY PLAN
-----------------------------------------------------------------------------------
Index Scan using foo_value_idx on foo (cost=0.00..47604.02 rows=999999 width=10)
(1 row)

When seqscan is disabled for the 10 million rows table:

set enable_seqscan = off;
explain declare c cursor for select * from foo2 order by value;
QUERY PLAN
-----------------------------------------------------------------------------------------
Index Scan using foo2_value_idx on foo2 (cost=0.00..32220140.73 rows=9999999 width=10)
(1 row)

Regards,
Milan Zamazal

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Albe Laurenz 2010-01-05 13:35:06 Re: Large tables, ORDER BY and sequence/index scans
Previous Message Milan Zamazal 2010-01-05 13:24:54 Re: Large tables, ORDER BY and sequence/index scans