# Indeksy w PostgreSQL

### Typy indeksów w PostgreSQL:

- B-tree
- haszowany
- GiST
- GIN

Indeks B-tree - stosowany jest w bazie w której najczęściej stosuje się zapytania zawierające porównania, większy, mniejszy, itp..

Indeks haszowany - jeżeli wyszukiwanie jest oparte o równość klucza. Haszowanie zamienia dowolnej długości ciąg znaków na ustaloną długość co ułatwia przeszukiwanie.

Indeks GiST (Generalized Search Tree) - Stosuje się do baz danych zawierających geometryczny typ danych (typ danych opisujący kształty figur geometrycznych na płaszczyźnie)

Indeksy GIN (Generalized Inverted iNdexes) - indeksy mapujące wiele wartości w jedym wierszu (typy tablicowe).

Zapytanie tworzące indeks (domyślnie tworzony jest indeks B-tree):
CREATE INDEX identyfikatorindeksu ON nazwatabeli(nazwakolumny);

Tworzenie indeksu haszowanego:
CREATE INDEX nazwatabeli_nazwakolumny_hash_index ON nazwatabeli USING hash(nazwakolumny)

Tworzenie indeksu GiST:
CREATE INDEX nazwatabeli_nazwakolumny_gist_index ON nazwatabeli USING gist(nazwakolumny)

Tworzenie indeksu haszowanego:
CREATE INDEX nazwatabeli_nazwakolumny_gin_index ON nazwatabeli USING gin(nazwakolumny)

### Usuwanie indeksu:

Aby usunąć indeks wydajemy polecenie "DROP INDEX" :
DROP INDEX indekskolumny;
DROP INDEX nazwatabeli_nazwakolumny_hash_index;

Usuwanie kilku indeksów za pomocą jednego zapytania:
DROP INDEX indekskolumny, nazwatabeli_nazwakolumny_hash_index;

⇒ Spis treści ⇐

⇐ PREV NEXT ⇒