最近有个场景有地理位置的需求,所以试用了下PG, 关于这块不太熟悉.
表DDL:
CREATE TABLE test
(
longid bigint NOT NULL DEFAULT nextval('test_longid_seq'::regclass),
longitude double precision,
latitude double precision,
create_ts_long bigint,
CONSTRAINT test_pkey PRIMARY KEY (longid)
)
如果仅仅是创建关于地理位置信息的索引,如下操作可以解决。
CREATE INDEX ll_idx
ON test USING gist
(ll_to_earth(latitude ::double precision, longitude ::double precision))
TABLESPACE pg_default;
但是有这样一个场景,筛选出在具体时间段内距离最近的记录, 这种情况下应该如何创建复合索引?
先拜谢了!
create extension postgis;
create extension btree_gist; 创建gist复合索引 过滤度高的字段放前面
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。