开发者社区> 问答> 正文

PG如何创建包含地理位置信息和其他字段的复合索引?

最近有个场景有地理位置的需求,所以试用了下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;

但是有这样一个场景,筛选出在具体时间段内距离最近的记录, 这种情况下应该如何创建复合索引?

先拜谢了!

展开
收起
id4alex 2016-08-31 10:36:34 3477 0
1 条回答
写回答
取消 提交回答
  • create extension postgis;
    create extension btree_gist; 创建gist复合索引 过滤度高的字段放前面

    2019-07-17 20:06:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
RowKey与索引设计:技巧与案例分析 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载