Re: Use of index in 7.0 vs 6.5 - Mailing list pgsql-sql
From | Ryan Bradetich |
---|---|
Subject | Re: Use of index in 7.0 vs 6.5 |
Date | |
Msg-id | 392CA4A5.FD06E9AC@hp.com Whole thread Raw |
In response to | Use of index in 7.0 vs 6.5 (Ryan Bradetich <ryan_bradetich@hp.com>) |
List | pgsql-sql |
Tom Lane wrote: > Ryan Bradetich <ryan_bradetich@hp.com> writes: > > I am in the process of transitioning from postgreSQL 6.5.3 to > > postgreSQL 7.0. I ran into an issue where a sequential scan > > is being choosen on postgreSQL 7.0 where an index scan was > > choosen on postgreSQL 6.5.3. > > Since you're complaining, I assume the seqscan is slower ;-). > But you didn't say how much slower --- what are the actual timings? Opps... Had them written down, just forgot to include them in the email :) with enable_seqscan = on: real 18.05 sys 0.01 user 0.02 with enable_seqscan = off: real 0.08 sys 0.01 user 0.02 I stopped and restarted the postmaster daemon between these timing to flush the cache. > Basically what's going on here is that we need to tune the fudge-factor > constants in the cost model so that they have something to do with > reality on as wide a variety of systems as possible. You did an > excellent job of showing the estimates the planner computed --- but > what we really need here is to see how those relate to reality. > > > I do not understand why the planner would choose a seqscan over the > > index scan because 6704/4,630,229 is ~ 0.15%. > > I'm a bit surprised too. What is the average tuple width on this table? > (Actually, probably a better question is how many pages and tuples > are in the relation according to its pg_class entry. Try "select * from > pgclass where relname = 'medusa'".) > > regards, tom lane procman=# select * from pg_class where relname = 'medusa';relname | reltype | relowner | relam | relpages | reltuples | rellongrelid | relhasindex | relisshared | relkind | relnatts | relchecks | reltriggers | relukeys | relfkeys | relrefs | relhas pkey | relhasrules | relacl ---------+---------+----------+-------+----------+-----------+--------------+-------------+-------------+---------+----------+-----------+-------------+----------+----------+---------+------- -----+-------------+--------medusa | 0 | 36000 | 0 | 120076 | 4630229 | 0 | t | f | r | 6 | 0 | 0 | 0 | 0 | 0 | f | f | (1 row) procman=# \d medusa Table "medusa"Attribute | Type | Modifier -----------+-----------+----------host_id | integer |timestamp | timestamp |current | integer |catagory | text |cat_desc | text |anomaly | text | This table has two fairly large text fields, the cat_desc and the anomaly. The catagory field is very short and in the format: [ABC][0-9][0-9]. Thanks for the help, - Ryan