On Thu, 14 Feb 2002, Tom Lane wrote: > Bruce Momjian <[EMAIL PROTECTED]> writes: > > In fact, I am unsure why you are specifying the primary column in the > > ORDER BY anyway if you know it will be a single value, except perhaps to > > try and get it to use the index, right? > > Exactly. The sort ordering of the index is (col1,col2) while the > query as originally written wanted an ordering of (col2 desc). > The planner's not smart enough to realize that since the WHERE > constrains col1 to a single value, you could pretend the query > requests an ordering of (col1 desc, col2 desc) which is compatible > with the index. > > regards, tom lane >
The annoying thing is that it is smart enough to get the correct index, I have another index that has the right col1, but different col2. It seems it should be possible to have the optimizer leave col1 in a "high impedence" state, and then allow col2 to make a decision. I have not looked at the code, but if we have a known value for col1 as a constant, I would think we could let subsequent information make the decision and then just bubble it up to the top. Wm. Brian McCane | Life is full of doors that won't open Search http://recall.maxbaud.net/ | when you knock, equally spaced amid those Usenet http://freenews.maxbaud.net/ | that open when you don't want them to. Auction http://www.sellit-here.com/ | - Roger Zelazny "Blood of Amber" ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org
