| From: | Josh Berkus <josh(at)agliodbs(dot)com> |
|---|---|
| To: | Jeremiah Jahn <jeremiah(at)cs(dot)earlham(dot)edu>, Hannu Krosing <hannu(at)tm(dot)ee> |
| Cc: | postgres performance <pgsql-performance(at)postgresql(dot)org> |
| Subject: | Re: cross table indexes or something? |
| Date: | 2003-12-01 19:47:51 |
| Message-ID: | 200312011147.51359.josh@agliodbs.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
Jeremiah,
> I've attached the Analyze below. I have no idea why the db thinks there
> is only 1 judge named simth. Is there some what I can inform the DB
> about this. In actuality, there aren't any judges named smith at the
> moment, but there are 22K people named smith.
No, Hannu meant that you may need to run the following command:
ANALYZE actor;
... to update the database statistics on the actors table. That is a
maintainence task that needs to be run periodically.
If that doesn't fix the bad plan, then the granularity of statistics on the
full_name column needs updating; I suggest:
ALTER TABLE actor ALTER COLUMN full_name SET STATISTICS 100;
ANALYZE actor;
And if it's still choosing a slow nested loop, up the stats to 250.
--
Josh Berkus
Aglio Database Solutions
San Francisco
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jared Carr | 2003-12-01 21:44:25 | A question on the query planner |
| Previous Message | Tom Lane | 2003-12-01 18:05:01 | Re: Followup - expression (functional) index use in joins |