PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Indeks tworzenia PostgreSQL

Indeksy PostgreSQL przyspieszają zapytania SQL, przyspieszając wyszukiwania, filtry i łączenia. Oto jak utworzyć indeks w PostgreSQL, aby przyspieszyć zapytania do bazy danych, używając instrukcji PostgreSQL CREATE INDEX.

Jak utworzyć indeks w PostgreSQL

Oto kroki, aby utworzyć indeks w PostgreSQL za pomocą instrukcji PostgreSQL CREATE INDEX. Załóżmy, że masz poniższą tabelę

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   product_id INT NOT NULL,
   sale INT NOT NULL,
   product_name VARCHAR(10)
);

Jak dodać indeks do kolumny w tabeli

Powiedzmy, że chcesz dodać indeks dla kolumny lub zestawu kolumn, a następnie użyj instrukcji CREATE INDEX. Oto składnia instrukcji CREATE INDEX

CREATE [UNIQUE] INDEX [CONCURRENTLY] index_name ON table_name 
[USING METHOD](column_list)

W powyższym zapytaniu podajemy nazwę indeksu po CREATE INDEX, tabelę dla której należy utworzyć indeks oraz listę kolumn, które mają być uwzględnione w indeksowaniu.

Możesz opcjonalnie określić słowo kluczowe UNIQUE, aby upewnić się, że indeks zawiera tylko unikalne wartości

PostgreSQL obsługuje różne metody indeksowania, takie jak btree , hash , gist , spgist , gin i brin które możesz określić podczas tworzenia indeksu.

Domyślnie PostgreSQL używa indeksów btree.

Oto przykład dodawania nowego indeksu dla kolumny nazwa_produktu w powyższych zamówieniach stół

CREATE INDEX prod_id_index ON orders (product_id);

Oto jak utworzyć indeks przy użyciu wielu kolumn

CREATE INDEX prod_id_index ON orders (product_id, order_id);

Oto jak utworzyć indeks za pomocą metody mieszania

CREATE INDEX prod_id_index ON orders using hash(product_id, order_id);

Oto jak utworzyć unikalny indeks, aby uniknąć duplikatów wartości

CREATE UNIQUE INDEX prod_id_index ON orders (product_id);

PostgreSQL umożliwia również tworzenie częściowego indeksu za pomocą klauzuli WHERE, w której indeksowane są tylko pasujące wartości

CREATE INDEX prod_id_index ON orders (product_id) where status=1;

W powyższym zapytaniu tylko te prod_id są indeksowane, gdzie status=1

Mamy nadzieję, że powyższy artykuł pomoże ci stworzyć indeks w PostgreSQL

Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ST_DWithin przyjmuje parametr jako stopień , a nie metry , dlaczego?

  2. Indeks na sygnaturze czasowej:funkcje w wyrażeniu indeksu muszą być oznaczone jako IMMUTABLE

  3. Jak działa justify_days() w PostgreSQL

  4. Pandy zapisują ramkę danych do innego schematu postgresql

  5. Połączenie Django z postgresem przez docker-compose