2016-02-17 4 views
3

мне нужно хранить местоположения, как широта и долгота точки, я пытался сделать сравнение между типом точки PostgreSQL и точкой геометрии PostGIS в перспективе размера с помощью AVG (pg_column_size:Точка геометрии PostGIS или нативная точка PostgreSQL?

select 
    avg(pg_column_size(latlong_geomitry)) as postgis_average_size, 
    avg(pg_column_size(latlong_point)) as point_average_size 
from points; 

для одной и той же записи:

PostGIS размер хранилища точка геометрия 29 байт

точка PostgreSQL размер хранения только 16 байт

Я предпочитаю использовать точку геометрии postgis, однако я не понимаю, почему для хранения тех же данных требуется больше байт, чем обычная точка.

мне не нужен какой-либо расчет на местах (например: расстояние между двумя или любые пространственные особенности ..)

Итак, это нормально, чтобы пойти с PostGreSQL типа точки, а не PostGIS точки геометрии? Я сохраню размер хранилища, но потеряю ли я с другой стороны? Каким будет совет?

ответ

2

Геометрия Postgis содержит также тип (POINT, POINTZ и т. Д.) И SRID. Это может объяснить разницу в размере.

Если вам не нужны вычисления, и у вас нет другой таблицы с геометриями postgis, я бы пошел с родной точкой и сохранил память.

Смежные вопросы