From: | Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | tgl(at)sss(dot)pgh(dot)pa(dot)us (Tom Lane) |
Cc: | fenix(at)am(dot)ring(dot)ru, pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [HACKERS] Indexes bug |
Date: | 1998-08-11 17:11:56 |
Message-ID: | 199808111711.NAA16717@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> Serj <fenix(at)am(dot)ring(dot)ru> writes:
> > [ system not using an index when it should ]
>
> Two questions:
>
> 1. Did you do a "vacuum analyze" after making the indexes?
> Without that, the optimizer may be choosing a sequential scan
> because it doesn't know how big the tables are.
>
> 2. What postgres version are you using?
>
> There are some bugs in the current cvs sources that affect whether
> indexes get used --- look at the ongoing threads in the hackers list.
> Maybe you've found another manifestation of that problem. But if
> you're using 6.3.2 then it's something different...
I think we now know what is happening in the current cvs tree. The
optimizer calls op_class to find if there is an pg_opam entry for the
expression (int4eq), the current index access type(btree), and the
current index op class(int4_ops).
In the case of oideqint4, there is no pg_amop to match it, and we can't
add extra rows to pg_amop to make it work. I suppose we could try
adding a amopopr_compat column to pg_amop, and somehow do a lookup on
that if the first one does not match. Because of the way the system
caches are structured, we would need a new cache for that extra column,
I think. There must be a better way.
--
Bruce Momjian | 830 Blythe Avenue
maillist(at)candle(dot)pha(dot)pa(dot)us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)
From | Date | Subject | |
---|---|---|---|
Next Message | Dr. Michael Meskes | 1998-08-11 18:22:53 | Latest ecpg patch? |
Previous Message | Bruce Momjian | 1998-08-11 15:25:20 | Re: [HACKERS] Fix in oracle_compat.c |