Allereerst, moet u ze gebruiken voor het indexeren van tekstzoekopdrachten? GIN en GiST zijn gespecialiseerd in indexen voor sommige gegevenstypen. Als u eenvoudige char- of integer-waarden moet indexeren, dan is de normale B-Tree-index de beste.
Hoe dan ook, de PostgreSQL-documentatie heeft een hoofdstuk over GIST
en een op GIN
, waar u meer informatie kunt vinden.
En, last but not least, de beste manier om erachter te komen welke het beste is, is door voorbeeldgegevens te genereren (zoveel als nodig is om een echt scenario te zijn) en vervolgens een GIST-index te maken , meten hoeveel tijd nodig is om de index te maken, een nieuwe waarde in te voegen, een voorbeeldquery uit te voeren. Laat dan de index vallen en doe hetzelfde met een GIN-index. Vergelijk de waarden en je hebt het antwoord dat je nodig hebt, gebaseerd op je gegevens.