У меня есть таблица диапазонов IP-адресов 1.6M с названиями организаций. IP-адреса преобразуются в целые числа. Стол в виде:Эффективный поиск в таблице диапазонов
У меня есть список из 2000 уникальных IP-адреса (например 321223, 531223, ....), которые должны быть переведены на имя организации.
я загрузил таблицу перевода в виде таблицы тузда с индексом на IP_from и IP_to. Я зацикливал IP-адреса 2000, запуская один запрос на IP-адрес, и через 15 минут отчет все еще работал. Запроса я использую
select organization from iptable where ip_addr BETWEEN ip_start AND ip_end
Есть ли более эффективный способ сделать это пакетное просмотровый? Я использую свои пальцы, если это хорошее решение. И если у кого-то есть решение, специфичное для Ruby, я хочу упомянуть, что я использую Ruby.
Вы хотите создать R-Tree (пространственный) индекс над '(IP_from, IP_to)'. – eggyal
Какие индексы вы использовали? –
Нам нужна гораздо больше информации, например, схемы и запросы. Нам также нужно знать, почему Ruby и Rails являются тегами. –