PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Indeks Buat PostgreSQL

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!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri dengan LEFT JOIN tidak mengembalikan baris untuk hitungan 0

  2. Bagaimana cara menggunakan (menginstal) dblink di PostgreSQL?

  3. Pilih baris pertama di setiap grup GROUP BY?

  4. Cara mengakses Oracle Database di PostgreSQL

  5. Bagaimana cara memeriksa apakah ada tabel dalam skema yang diberikan