Встроенные классы операторов#
Основной дистрибутив PostgreSQL включает классы операторов SP-GiST, показанные в таблице:
Имя |
Индексируемые операторы |
Заказ операторов |
|---|---|---|
box_ops |
<< (box, box) |
<-> (box, point) |
&< (box,box) |
||
&> (box, box) |
||
>> (box, box) |
||
<@ (box,box) |
||
@> (box,box) |
||
~= (box, box) |
||
&& (box,box) |
||
<<| (box, box) |
||
&<| (box,box) |
||
|&> (box,box) |
||
|>> (box,box) |
||
inet_ops |
<< (inet,inet) |
|
<<= (inet,inet) |
||
>> (inet,inet) |
||
>>= (inet,inet) |
||
= (inet,inet) |
||
<> (inet,inet) |
||
< (inet,inet) |
||
<= (inet,inet) |
||
> (inet,inet) |
||
>= (inet,inet) |
||
&& (inet,inet) |
||
kd_point_ops |
|>> (point, point) |
<-> (point, point) |
<< (point,point) |
||
>> (point,point) |
||
<<| (point,point) |
||
~= (point,point) |
||
<@ (point,box) |
||
poly_ops |
<< (polygon,polygon) |
<-> (polygon, point) |
&< (polygon, polygon) |
||
&> (polygon, polygon) |
||
>> (polygon,polygon) |
||
<@ (многоугольник, многоугольник) |
||
@> (polygon,polygon) |
||
~= (polygon, polygon) |
||
&& (polygon,polygon) |
||
<<| (polygon, polygon) |
||
&<| (polygon, polygon) |
||
|>> (polygon, polygon) |
||
|&> (polygon, polygon) |
||
quad_point_ops |
|>> (point, point) |
<-> (point, point) |
<< (point,point) |
||
>> (point,point) |
||
<<| (point,point) |
||
~= (point,point) |
||
<@ (point,box) |
||
range_ops |
= (anyrange, anyrange) |
|
&& (anyrange,anyrange) |
||
@> (anyrange, anyelement) |
||
@> (anyrange,anyrange) |
||
<@ (anyrange,anyrange) |
||
<< (anyrange, anyrange) |
||
>> (anyrange, anyrange) |
||
&< (anyrange, anyrange) |
||
&> (anyrange,anyrange) |
||
-|- (anyrange, anyrange) |
||
text_ops |
= (text,text) |
|
< (text,text) |
||
<= (text,text) |
||
> (text,text) |
||
>= (text,text) |
||
~<~ (text,text) |
||
~<=~ (text,text) |
||
~>=~ (text,text) |
||
~>~ (text,text) |
||
^@ (text,text) |
Из двух классов операторов для типа point по умолчанию используется quad_point_ops. kd_point_ops поддерживает те же операторы, но использует другую индексную структуру данных, которая может обеспечить лучшую производительность в некоторых приложениях.
Классы операторов quad_point_ops, kd_point_ops и poly_ops поддерживают оператор упорядочивания <->, который позволяет осуществлять поиск k-nearest neighbor (k-NN) по индексированным наборам данных точек или многоугольников.