Първо, трябва ли да ги използвате за индексиране на текстово търсене? GIN и GiST са индекси, специализирани за някои типове данни. Ако трябва да индексирате прости char или цели числа, тогава нормалният индекс на B-Tree е най-добрият.
Както и да е, документацията на PostgreSQL има глава за GIST
и един на GIN
, където можете да намерите повече информация.
И не на последно място, най-добрият начин да намерите кое е най-доброто е да генерирате примерни данни (колкото са ви необходими за реален сценарий) и след това да създадете GIST индекс , измервайки колко време е необходимо за създаване на индекса, вмъкване на нова стойност, изпълнение на примерна заявка. След това изпуснете индекса и направете същото с GIN индекс. Сравнете стойностите и ще получите отговора, от който се нуждаете, въз основа на вашите данни.