| From: | "Greg Sabino Mullane" <greg(at)turnstep(dot)com> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Cc: | mvh(at)ix(dot)netcom(dot)com |
| Subject: | Re: Astonishing explain...! |
| Date: | 2002-06-25 00:39:33 |
| Message-ID: | E17MeF6-0000UV-00@hall.mail.mindspring.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> I did the following explain, and was suprised by the results (yes,
> vacuum, analyze, etc.)
>
> Why is a sequential scan be done for MAX of an indexed column? This
> is obviously pretty painful for large tables...
Painful, but still the way that Postgres does it. An alternative is
to do this:
SELECT num FROM boogers ORDER BY num DESC LIMIT 1;
I've heard talk of this being fixed^H^H^H^H^Hoptimized someday
(7.3 hopefully?) but for now the above SQL is your best bet:
test=# EXPLAIN SELECT num FROM boogers ORDER BY num DESC LIMIT 1;
QUERY PLAN
- -----------------------------------------------------
Limit (cost=0.00..0.04 rows=1 width=4)
-> Index Scan Backward using nose on boogers
Greg Sabino Mullane greg(at)turnstep(dot)com
PGP Key: 0x14964AC8 200206242029
-----BEGIN PGP SIGNATURE-----
Comment: http://www.turnstep.com/pgp.html
iD8DBQE9F7t8vJuQZxSWSsgRAhqBAJ4xjJgO+MHr/uwEwEXRxQIuFIEyOwCg/O28
gMugobeu//Q4gBKX2H/Lknk=
=sIYv
-----END PGP SIGNATURE-----
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Stephan Szabo | 2002-06-25 00:46:32 | Re: SERIAL and RULE of "ON INSERT" kind |
| Previous Message | Martijn van Oosterhout | 2002-06-25 00:37:14 | Re: Redirecting Output |