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