轨迹类型支持不同的索引方式。
查看默认的索引方式
-- 默认的索引方式
SELECT * FROM pg_opclass WHERE opcname LIKE '%traj%' AND opcdefault = true;
-- 默认的索引设置参数(针对trajgist_ops_multi索引方式)
SHOW ganos.trajectory.index_split_config;
索引方式分为两大类:
单外包框索引:将每条轨迹表示为一个单个的外包框。占用存储空间少,但索引过滤效率低。可以根据查询需要的维度使用不同维度的索引方式,例如trajgist_2d表示二维索引,trajgist_3dt表示三维+时间索引。
多外包框索引:将每条轨迹分为多个部分,每个部分单独表示为一个外包框,这样每条轨迹就表示为多个外包框。占用存储空间大,但索引过滤效率高。针对空间查询,通常可以提高一倍以上的查询效率。部分Ganos版本不支持创建此类索引。
指定索引类型
指定建立二维+时间的索引。
CREATE INDEX idx_2dt ON trajectory_table USING GiST(traj trajgist_2dt);
删除索引。
DROP INDEX idx_2dt;
设置多外包框切分方法,以每条轨迹固定切分为4个外包框为例。
SET ganos.trajectory.index_split_config = '{"cut_point.even_divide":4}';
建立一个多外包框索引。
CREATE INDEX idx_2dt ON trajectory_table USING GiST(traj multi);
文档内容是否对您有帮助?