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
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 |