Re: [HACKERS] What about LIMIT in SELECT ?

Поиск
Список
Период
Сортировка
От Hannu Krosing
Тема Re: [HACKERS] What about LIMIT in SELECT ?
Дата
Msg-id 36263B34.96565B17@trust.ee
обсуждение исходный текст
Ответ на Re: [HACKERS] What about LIMIT in SELECT ?  (jwieck@debis.com (Jan Wieck))
Список pgsql-hackers
Jan Wieck wrote:
>
> Hannu Krosing wrote:
>
> > Jan Wieck wrote:
> > >    The speedup for the cursor/fetch scenario  is  so  impressive
> > >    that  I'll  create  a  post 6.4 patch. I don't want it in 6.4
> > >    because there is absolutely no query in the whole  regression
> > >    test,  where  it  suppresses  the  sort  node.
> >
> > Good, then it works as expected ;)
> >
> > More seriously, it is not within powers of current regression test
> > framework to test speed improvements (only the case where
> > performance-wise bad implementation will actually crash the backend,
> > as in the cnfify problem, but AFAIK we dont test for those now)
> >
> > >   So  we  have absolutely no check that it doesn't break anything.
> >
> > If it did pass the regression, then IMHO it did not break anything.
>
>     Thats  the  point.  The  check  if  the sort node is required
>     returns TRUE for  ALL  queries  of  the  regression.  So  the
>     behaviour when it returns FALSE is absolutely not tested.

The only way to find out is to make a new test, maybe by comparing

select * from t where key > 1 order by key;

where sort node can be dropped

and

select * from t where (key+1) > 2 order by key;

where it probably can't (I guess the optimiser is currently not smart
enough)

>     I can't call it a bugfix because it is only a performance win
>     in some situations.

In the extreme case the situation can be exhaustion of swap and disk
space resulting in a frozen computer, just trying to get 10 first rows
from a table. Its not exactly a bug, but it's not the expected
behaviour either.

>     And I feel the risk is too  high  to  put
>     untested  code  into  the  backend  at BETA2 time. The max we
>     should do is to take this one  and  the  LIMIT  thing  (maybe
>     implemented  as  I  suggested  lately),  and  put  out a Web-
>     Performance-Release at the same time we release 6.4.

Or perhaps have the patches in /contrib in 6.4 distribution
(preferrably with an option to configure to apply them ;)

-----------------
Hannu

В списке pgsql-hackers по дате отправления:

Предыдущее
От: darcy@druid.net (D'Arcy J.M. Cain)
Дата:
Сообщение: Did the inet type get backed out?
Следующее
От: Brook Milligan
Дата:
Сообщение: Re: [HACKERS] perl interface bug?