optimizer not eliminating redundant sorts

Поиск
Список
Период
Сортировка
От Greg Stark
Тема optimizer not eliminating redundant sorts
Дата
Msg-id 87bs1p2jok.fsf@stark.dyndns.tv
обсуждение исходный текст
Ответы Re: optimizer not eliminating redundant sorts
Список pgsql-general
Another odd thing. This type of query seems to be causing redundant sorts.
From what I've read in the source it tries quite hard to keep track of the
sort order of subplans to avoid unnecessary sorts, so I think these are
supposed to get optimized out. I'm not sure if the group nodes can get
optimized out, but surely the sorts can.

slo=> explain select x from (select x,y from (select x,y,z from ttt group by x,y,z) as x group by x,y) as x group by x;
                                             QUERY PLAN
----------------------------------------------------------------------------------------------------
 Group  (cost=0.05..0.06 rows=1 width=16)
   ->  Sort  (cost=0.05..0.06 rows=1 width=16)
         Sort Key: x
         ->  Subquery Scan x  (cost=0.03..0.04 rows=1 width=16)
               ->  Group  (cost=0.03..0.04 rows=1 width=16)
                     ->  Sort  (cost=0.03..0.04 rows=1 width=16)
                           Sort Key: x, y
                           ->  Subquery Scan x  (cost=0.01..0.02 rows=1 width=16)
                                 ->  Group  (cost=0.01..0.02 rows=1 width=16)
                                       ->  Sort  (cost=0.01..0.02 rows=1 width=16)
                                             Sort Key: x, y, z
                                             ->  Seq Scan on ttt  (cost=0.00..0.00 rows=1 width=16)


--
greg

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: backend process crash - PL/pgSQL functions - parsing problem?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Index not used with IS NULL