Topik ini menjelaskan pengindeksan GiST. Anda dapat membuat indeks GiST pada kolom yang menyimpan data trajektori.
Sintaksis
CREATE INDEX [index_name] on table_name USING GIST(traj_col [operator_family]);- index_name: nama indeks. Parameter ini opsional.
- table_name: nama tabel tempat kolom tersebut berada.
- traj_col: nama kolom.
- operator_family: keluarga operator yang digunakan untuk membuat indeks. Nilai default: trajgist_ops_multi. Anda dapat menggunakan parameter ganos.trajectory.index_split_config untuk menentukan keluarga operator. Parameter ini opsional.
Catatan Anda dapat menggunakan indeks yang dibuat untuk mempercepat kueri yang dijalankan oleh operator dan fungsi berikut: ST_ndIntersect, ST_ndDWithin, ST_ndContains, dan ST_ndWithin.
Keluarga operator yang didukung
Tabel berikut menjelaskan keluarga operator yang didukung untuk pengindeksan GiST.
| Keluarga operator | Deskripsi |
| trajgist_ops_z | Membuat indeks pada sumbu z. Jenis indeks ini mendukung kueri yang hanya mencakup sumbu z. |
| trajgist_ops_t | Membuat indeks pada sumbu t. Jenis indeks ini mendukung kueri yang hanya mencakup sumbu t. |
| trajgist_ops_2d | Membuat indeks pada sumbu x dan y. Jenis indeks ini mendukung kueri yang hanya mencakup sumbu x dan y. |
| trajgist_ops_2dt | Membuat indeks pada sumbu x, y, dan t. Jenis indeks ini mendukung kueri yang hanya mencakup sumbu x dan y, kueri yang hanya mencakup sumbu t, dan kueri yang mencakup sumbu x, y, dan t. |
| trajgist_ops_3d | Membuat indeks pada sumbu x, y, dan z. Jenis indeks ini mendukung kueri yang hanya mencakup sumbu x dan y, kueri yang hanya mencakup sumbu z, dan kueri yang mencakup sumbu x, y, dan z. |
| trajgist_ops_3dt | Membuat indeks pada sumbu x, y, z, dan t. Jenis indeks ini mendukung semua kueri yang didukung oleh lima keluarga operator sebelumnya. |
| trajgist_ops_multi | Membuat indeks pada beberapa kotak pembatas untuk mempercepat kueri. Namun, sistem memerlukan lebih banyak waktu dan penyimpanan untuk membuat indeks. |
Contoh
- Buat indeks pada sumbu t.
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_t); - Buat indeks pada sumbu x dan y.
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_2d); - Buat indeks pada sumbu x, y, dan t.
CREATE INDEX on table_name USING GIST(traj_col trajgist_ops_2dt);