PGSQL PERFORMANCE 9 RE USING LIMIT CHANGES INDEX USED BY PLANNER
From: andrew@no-spam (Andrew McMillan)
Subject: Re: Using LIMIT changes index used by planner
Date: Mon, 13 Dec 2004 22:56:29 +1300


On Mon, 2004-12-13 at 01:13 -0500, Sven Willenberger wrote:
> I have a question regarding a serious performance hit taken when using a=20
> LIMIT clause. I am using version 7.4.6 on FreeBSD 4.10-STABLE with 2GB=20
> of memory. The table in question contains some 25 million rows with a=20
> bigserial primary key, orderdate index and a referrer index. The 2=20
> select statements are as follow:

It's an interesting question, but to be able to get answers from this list you will need to provide "EXPLAIN ANALYZE ..." rather than just "EXPLAIN ...".

AFAICS the bad plan on LIMIT is because it optimistically thinks the odds are around the 0.00 end, rather than the 64297840.86 end, and indeed that is what the "Limit ..." estimate is showing. A bad plan (in your case) is encouraged here by the combination of "LIMIT" and "ORDER BY".

For real background on this, and calculated recommendations, we'd need that more detailed output though.

As a quick hack, it's possible that you could improve things by increasing the samples on relevant columns with some judicious "ALTER TABLE ... ALTER COLUMN ... SET STATISTICS ..." commands.

Cheers,
Andrew McMillan.

-------------------------------------------------------------------------
Andrew @no-spam Catalyst .Net .NZ Ltd, PO Box 11-053, Manners St, Wellington WEB: http://catalyst.net.nz/ PHYS: Level 2, 150-154 Willis St DDI: +64(4)803-2201 MOB: +64(272)DEBIAN OFFICE: +64(4)499-2267
Planning an election? Call us!
-------------------------------------------------------------------------

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQBBvWdMjJA0f48GgBIRAgF8AJ4hR07mtCDXnpCy0Bh05ZdzfEtxxwCfTW05
KRnt/3WuxuwnSl4V270Ajg0=
=flF1
-----END PGP SIGNATURE-----

[plaintext signature.asc]