Re: Index use in BETWEEN statement...

Поиск
Список
Период
Сортировка
От Yonatan Ben-Nes
Тема Re: Index use in BETWEEN statement...
Дата
Msg-id 433930E5.7090800@canaan.co.il
обсуждение исходный текст
Ответ на Re: Index use in BETWEEN statement...  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Index use in BETWEEN statement...  (Sean Davis <sdavis2@mail.nih.gov>)
Список pgsql-general
Tom Lane wrote:
> "Cristian Prieto" <cristian@clickdiario.com> writes:
>
>>mydb=# explain analyze select locid from geoip_block where
>>'216.230.158.50'::inet between start_block and end_block;
>
>
>>As you see it still using a sequential scan in the table and ignores the
>>index, any other suggestion?
>
>
> That two-column index is entirely useless for this query; in fact btree
> indexes of any sort are pretty useless.  You really need some sort of
> multidimensional index type like rtree or gist.  There was discussion
> just a week or three ago of how to optimize searches for intervals
> overlapping a specified point, which is identical to your problem.
> Can't remember if the question was about timestamp intervals or plain
> intervals, but try checking the list archives.
>
>             regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
>                http://archives.postgresql.org

I think that Tom is talking about a discussion which I started entitled
"Planner create a slow plan without an available index" search for it
maybe it will help you.
At the end I created an RTREE index and it did solved my problem though
my data was 2 INT fields and not INET fields as yours so im not sure how
can you work with that... To solve my problem I created boxes from the 2
numbers and with them I did overlapping.

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

Предыдущее
От: Yonatan Ben-Nes
Дата:
Сообщение: Re: How many insert + update should one transaction handle?
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: Restore xxxxx.backup database