このトピックでは、GiSTインデックス作成について説明します。 軌道データを格納する列に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パラメーターを使用して、演算子ファミリを指定できます。 このパラメーターはオプションです。
作成したインデックスを使用して、さまざまな演算子と次の関数によって実行されるクエリを高速化できます。
サポートされているオペレーターファミリー
次の表に、GiSTインデックス作成でサポートされる演算子ファミリを示します。
オペレータ家族 | 説明 |
trajgist_ops_z | z軸上にインデックスを作成します。 このタイプのインデックスは、z軸のみをカバーするクエリをサポートします。 |
trajgist_ops_t | t軸にインデックスを作成します。 このタイプのインデックスは、t軸のみをカバーするクエリをサポートします。 |
trajgist_ops_2d | x軸とy軸にインデックスを作成します。 このタイプのインデックスは、x軸とy軸のみをカバーするクエリをサポートします。 |
trajgist_ops_2dt | x、y、t軸にインデックスを作成します。 このタイプのインデックスは、x軸とy軸のみをカバーするクエリ、t軸のみをカバーするクエリ、およびx軸、y軸、t軸をカバーするクエリをサポートします。 |
trajgist_ops_3d | x、y、z軸にインデックスを作成します。 このタイプのインデックスは、x軸とy軸のみをカバーするクエリ、z軸のみをカバーするクエリ、x軸、y軸、z軸をカバーするクエリをサポートします。 |
trajgist_ops_3dt | x、y、z、t軸にインデックスを作成します。 このタイプのインデックスは、前述の5つの演算子ファミリーでサポートされるすべてのクエリをサポートします。 |
trajgist_ops_multi | クエリを高速化するために、複数の境界ボックスにインデックスを作成します。 ただし、システムはインデックスを作成するためにより多くの時間とストレージを必要とします。 |
例
t軸にインデックスを作成します。
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_t);
x軸とy軸にインデックスを作成します。
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_2d);
x、y、t軸にインデックスを作成します。
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_2dt);