【发布时间】:2013-10-17 11:53:49
【问题描述】:
我有一个包含组织名称的 160 万个 IP 范围的表。 IP 地址被转换为整数。表格形式为:
我有一个需要转换为组织名称的 2000 个唯一 IP 地址(例如 321223、531223、...)的列表。
我将转换表加载为 mysql 表,并在 IP_from 和 IP_to 上具有索引。我遍历了 2000 个 IP 地址,每个 IP 地址运行一个查询,15 分钟后报告仍在运行。 我正在使用的查询是
select organization from iptable where ip_addr BETWEEN ip_start AND ip_end
有没有更有效的方法来进行批量查找?如果这是一个好的解决方案,我会用我的手指。如果有人有特定于 Ruby 的解决方案,我想提一下我正在使用 Ruby。
【问题讨论】:
-
你想在
(IP_from, IP_to)上创建一个R-Tree(空间)索引。 -
你使用了哪些索引?
-
我们需要更多信息,例如模式和查询。我们还需要知道为什么 Ruby 和 Rails 是标签。