camka
не самка
ip-to-country. как заставить запрос использовать индексы.
Есть таблица ip2country
ip_from, ip_to, country
Надо найти строку где заданный ip расположен в промежутке от ip_from до ip_to.
Проблема в том, что не составить запрос, который бы использовал индексы.
Запрос типа
[sql]
select * from ip2country where ip_from <= $my_ip and ip_to >= $my_ip
[/sql]
использует индекс не всегда, потому как часто действует правило когда количество выбираемых строк привышает 30% (это мое подозрение).
Вопрос - можно ли как-то изменить структуру/составить запрос/организовать индексы , что бы запрос на выборку нужной строки использовал индекс:?
Есть таблица ip2country
ip_from, ip_to, country
Надо найти строку где заданный ip расположен в промежутке от ip_from до ip_to.
Проблема в том, что не составить запрос, который бы использовал индексы.
Запрос типа
[sql]
select * from ip2country where ip_from <= $my_ip and ip_to >= $my_ip
[/sql]
использует индекс не всегда, потому как часто действует правило когда количество выбираемых строк привышает 30% (это мое подозрение).
Вопрос - можно ли как-то изменить структуру/составить запрос/организовать индексы , что бы запрос на выборку нужной строки использовал индекс:?