从我刚才的问题在这个题目上之后, Postgres的组合多个指标 :
我下表对Postgres的9.2(在PostGIS):
CREATE TABLE updates (
update_id character varying(50) NOT NULL,
coords geography(Point,4326) NOT NULL,
user_id character varying(50) NOT NULL,
created_at timestamp without time zone NOT NULL
);
而我正在下面的表查询:
select *
from updates
where ST_DWithin(coords, ST_MakePoint(-126.4, 45.32)::geography, 30000)
and user_id='3212312'
order by created_at desc
limit 60
因此,考虑的是,我应该使用什么指数(COORDS + USER_ID),GIST或B树?
CREATE INDEX ix_coords_user_id ON updates USING GIST (coords, user_id);
要么
CREATE INDEX ix_coords_user_id ON updates (coords, user_id);
我读的是B树的性能比GIST好,但我会强迫,因为我使用的PostGIS地理野外使用GIST?