sql >> Database >  >> RDS >> PostgreSQL

Veel LIKE-operators gebruiken en index gebruiken

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 % .




  1. Hoe kunnen miljoenen statistische records efficiënt worden opgeslagen?

  2. verkrijg de SUM van elke persoon door de PersonID

  3. Hoe een unieke minimumwaarde selecteren uit meer tabellen

  4. MySQL converteert kolomgegevenstype van VARCHAR naar INT