Indeks PostgreSQL mempercepat kueri SQL dengan mempercepat pencarian, filter, dan penggabungan. Berikut cara membuat indeks di PostgreSQL untuk mempercepat kueri basis data, menggunakan pernyataan CREATE INDEX PostgreSQL.
Cara Membuat Indeks di PostgreSQL
Berikut adalah langkah-langkah untuk membuat indeks di PostgreSQL menggunakan pernyataan CREATE INDEX PostgreSQL. Katakanlah Anda memiliki tabel berikut
CREATE TABLE orders(
order_id INT PRIMARY KEY,
product_id INT NOT NULL,
sale INT NOT NULL,
product_name VARCHAR(10)
);
Cara Menambahkan Indeks ke Kolom di Tabel
Katakanlah Anda ingin menambahkan indeks untuk kolom atau kumpulan kolom, lalu gunakan pernyataan CREATE INDEX. Berikut sintaks dari pernyataan CREATE INDEX
CREATE [UNIQUE] INDEX [CONCURRENTLY] index_name ON table_name
[USING METHOD](column_list)
Dalam kueri di atas, kami menentukan nama indeks setelah CREATE INDEX, tabel yang Anda perlukan untuk membuat indeks, dan daftar kolom yang akan disertakan dalam pengindeksan.
Anda dapat secara opsional menentukan kata kunci UNIK untuk memastikan bahwa indeks Anda hanya berisi nilai unik
PostgreSQL mendukung berbagai metode pengindeksan seperti btree
, hash
, gist
, spgist
, gin
, dan brin
yang dapat Anda tentukan selama pembuatan indeks.
Secara default, PostgreSQL menggunakan indeks btree.
Berikut adalah contoh untuk menambahkan indeks baru untuk kolom nama_produk dalam pesanan di atas tabel
CREATE INDEX prod_id_index ON orders (product_id);
Berikut cara membuat indeks menggunakan banyak kolom
CREATE INDEX prod_id_index ON orders (product_id, order_id);
Berikut cara membuat indeks menggunakan metode hash
CREATE INDEX prod_id_index ON orders using hash(product_id, order_id);
Berikut cara membuat indeks unik untuk menghindari nilai duplikat
CREATE UNIQUE INDEX prod_id_index ON orders (product_id);
PostgreSQL juga memungkinkan Anda membuat indeks parsial menggunakan klausa WHERE, di mana hanya nilai yang cocok yang diindeks
CREATE INDEX prod_id_index ON orders (product_id) where status=1;
Dalam kueri di atas, hanya prod_id . yang diindeks di mana status=1
Semoga artikel di atas dapat membantu Anda membuat indeks di PostgreSQL
Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!