Po pierwsze, czy musisz ich używać do indeksowania wyszukiwania tekstowego? GIN i GiST są indeksami wyspecjalizowanymi dla niektórych typów danych. Jeśli potrzebujesz indeksować proste wartości znaków lub liczb całkowitych, to normalny indeks B-Tree jest najlepszy.
W każdym razie, dokumentacja PostgreSQL zawiera rozdział o GIST
i jeden na GIN
, gdzie można znaleźć więcej informacji.
I wreszcie, najlepszym sposobem na znalezienie tego, który jest najlepszy, jest wygenerowanie przykładowych danych (tyle, ile potrzebujesz, aby być rzeczywistym scenariuszem), a następnie utworzenie indeksu GIST , mierzący, ile czasu potrzeba na utworzenie indeksu, wstawienie nowej wartości, wykonanie przykładowego zapytania. Następnie upuść indeks i zrób to samo z indeksem WZ. Porównaj wartości, a uzyskasz odpowiedź, której potrzebujesz, na podstawie swoich danych.