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)
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;