Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / index for subnet / 3 сообщений из 3, страница 1 из 1
29.09.2005, 11:20
    #33295112
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
index for subnet
Уважаемые!

Кто-нить знает почему не используется индекс для поля сабнет в следующем случае:

Есть таблица
CREATE TABLE public.stat_country_ip_range (
id_country int4,
subnet inet
) WITH OIDS;

1500000 записей

есть индекс

CREATE INDEX stat_country_ip_range_subnet_key ON stat_country_ip_range USING btree (subnet);

почему при запросе

select * from stat_country_ip_range where subnet >> '62.141.8.44'::inet

происходит последовательное сканирование??? Или для этого ">>" оператора индексы впринципе не могут быть использованы?? И как можно ускорить выборку. Этот запрос на 1500000 записей выполняется 6 секунд
...
Рейтинг: 0 / 0
04.10.2005, 12:12
    #33303323
msa@n-e.ru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
index for subnet
Никто не знает что ли? :((
...
Рейтинг: 0 / 0
05.10.2005, 10:00
    #33305355
Funny_Falcon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
index for subnet
В данный момент я не встречал индекса для операции >> для инета. Я сделал подобное для
строк маленькой доделкой btree-gist. Для инета это так просто не прокатит (уже смотрел),
т.к. в btree-gist он храниться как double без сохранения маски. Придется делать полный аналог,
но с сохранением inet полностью.
Я буду делать этот индекс для себя, но еще не скоро. Сделаю, поделюсь с общественностью.
Кстати, могу поделиться доделкой для строк для Postgres 8.1 beta(определены: операции A<@B -
если B - начало A и A@>B если A - начало B).
Если сделаешь раньше, поделись :-)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / index for subnet / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]