U kunt een trigram-index maken die uw zoekopdracht ondersteunt.
Daarvoor heb je de pg_trgm
. nodig verlenging; voer het volgende uit als superuser:
CREATE EXTENSION pg_trgm;
Vervolgens kunt u een GIN-index maken:
CREATE INDEX ON dir USING gin (path gin_trgm_ops);
Deze index kan worden gebruikt met uw tweede en derde benadering, dus het zou voor u moeten werken.
Met korte patronen zoals die in uw voorbeelden, zal de index niet erg effectief zijn.
Je kunt ook een GiST-index gebruiken, die zal waarschijnlijk kleiner zijn, maar langzamer zoeken.
Merk op dat je die index ook kunt gebruiken met patronen die beginnen met %
.