Re: optimizer question
От | Bruce Momjian |
---|---|
Тема | Re: optimizer question |
Дата | |
Msg-id | 200110121613.f9CGDOT02186@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: optimizer question (Hannu Krosing <hannu@tm.ee>) |
Список | pgsql-hackers |
> Bruce Momjian wrote: > > > > > "Reinoud van Leeuwen" <reinoud@xs4all.nl> writes: > > > > I have a table that contains almost 8 milion rows. The primary key is a > > > > sequence, so the index should have a good distribution. Why does the > > > > optimizer refuse to use the index for getting the maximum value? > > > > > > The optimizer has no idea that max() has anything to do with indexes. > > > You could try something like > > > > > > select * from tab order by foo desc limit 1; > > > > Can we consider doing this optimization automatically? > > Only if we assume that people do not define their own max() that does > something > that can't be calculated using the above formula like calculating AVG(). I hadn't thought of that one. I can't imagine a max() that doesn't match the ORDER BY collating. Updated TODO item: * Use indexes for min() and max() or convert to SELECT col FROM tab ORDER BY col DESC LIMIT 1; -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: