核心 PostgreSQL 发行版包含了 SP-GiST 操作符类,如 Table 65.1 所示。
Table 65.1. 内置 SP-GiST 操作符类
| 名称 | 索引数据类型 | 可索引操作符 | 排序操作符 |
|---|---|---|---|
kd_point_ops |
point |
<< <@ <^ >> >^ ~= |
<-> |
quad_point_ops |
point |
<< <@ <^ >> >^ ~= |
<-> |
range_ops |
任意范围类型 | && &< &> -|- << <@ = >> @> |
|
box_ops |
box |
<< &< && &> >> ~= @> <@ &<| <<| |>> |&> |
|
poly_ops |
polygon |
<< &< && &> >> ~= @> <@ &<| <<| |>> |&> |
<-> |
text_ops |
text |
< <= = > >= ~<=~ ~<~ ~>=~ ~>~ ^@ |
|
inet_ops |
inet, cidr |
&& >> >>= > >= <> << <<= < <= = |
对于类型 point 的两个操作符类, quad_point_ops 是默认选项。 kd_point_ops 支持相同的操作符,但使用不同的索引数据 结构,在某些应用中可能提供更好的性能。
quad_point_ops、kd_point_ops 和 poly_ops 操作符类支持 <-> 排序操作符,这使得可以在已建立索引的点或多边形数据集上执行 k 最近邻 (k-NN)搜索。