對軌跡數據列創建GisT索引。
語法
CREATE INDEX [index_name] on table_name USING GIST(traj_col [operator_family]);
index_name:索引名,可以省略。
table_name:表名。
traj_col:軌跡列名。
operator_family:指定索引所使用的算子族,可以省略,默認值為trajgist_ops_multi,可通過ganos.trajectory.index_split_config參數調整。
說明
建立索引后,可以加速各類算子以及ST_ndIntersect、ST_ndDWithin、ST_ndContains、ST_ndWithin函數的查詢。
支持算子族
當前支持7個索引的算子族,說明如下。
算子族名稱 | 描述 |
trajgist_ops_z | 對z軸范圍建立索引,支持僅包含z軸的查詢。 |
trajgist_ops_t | 對t軸范圍建立索引,支持僅包含t軸的查詢。 |
trajgist_ops_2d | 對x、y軸范圍建立索引,支持僅包含x、y軸信息的查詢。 |
trajgist_ops_2dt | 對x、y、t軸范圍建立索引,支持二維、時間,以及混合查詢。 |
trajgist_ops_3d | 對x、y、z軸范圍建立索引,支持二維、三維、z軸查詢。 |
trajgist_ops_3dt | 對x、y、z、t軸范圍建立索引,支持以上全部查詢。 |
trajgist_ops_multi | 建立多外包框架索引,以加速查詢,但建立更慢并占用更多空間。 |
示例
建立時間維索引。
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_t);
建立二維索引。
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_2d);
建立二維時空復合索引。
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_2dt);
文檔內容是否對您有幫助?