Re: Range Types - efficiency

Поиск
Список
Период
Сортировка
От Jeff Davis
Тема Re: Range Types - efficiency
Дата
Msg-id 1297292329.1747.6.camel@jdavis-ux.asterdata.local
обсуждение исходный текст
Ответ на Range Types - efficiency  (Chris Browne <cbbrowne@acm.org>)
Список pgsql-hackers
On Wed, 2011-02-09 at 16:20 -0500, Chris Browne wrote: 
> rangetest@localhost->  explain analyze select * from some_data where '[2010-01-01,2010-02-01)'::daterange @>
whensit;
>                                                QUERY PLAN
> ---------------------------------------------------------------------------------------------------------
>  Seq Scan on some_data  (cost=0.00..634.00 rows=1 width=8) (actual time=1.045..111.739 rows=390 loops=1)
>    Filter: ('[ 2010-01-01, 2010-02-01 )'::daterange @> whensit)
>  Total runtime: 111.780 ms
> (3 rows)
> 
> This, alas, reverts to a seq scan on the table, rather than restricting
> itself to the tuples of interest.
> 
> I realize that, after a fashion, I'm using this backwards.  But when I'm
> doing temporal stuff, that tends to be the pattern:

Yes. The index is a btree index on a normal column, so range types can't
exactly help with that directly -- except maybe as a rewrite like you
say.

One thing you might try is a functional index on (range(whensit)) and
then do: where '...' @> range(whensit).

Does that work for you?

Regards,Jeff Davis



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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: pl/python explicit subtransactions
Следующее
От: Chris Browne
Дата:
Сообщение: Re: Range Types - efficiency