存储 CIDR 友好的非交叉 IP 范围的结构

Structure to store CIDR-friendly non-intersecting IP ranges

允许搜索给定 IP 地址所属范围的存储架构是什么,它提供了一种使用索引进行优化的方法。

因此:有一组 非交叉 IP 地址范围(如有必要,可以用 CIDR 表示法表示)。

并且需要匹配给定 IP 地址匹配的范围。

所以它总是完全 0..1 匹配。

ip_from (int), ip_to (int) 不符合任务条件,因为您无法使用 B 树(或 mysql 中可用的任何其他索引结构)优化搜索。

知道了 - from-to 架构有效:

需要获取给定 IP 地址的所有 IP 前缀并使用 from IN (<prefixes_list_here>) 检查。