PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie man viele LIKE-Operatoren verwendet und Index verwendet

Sie können einen Trigramm-Index erstellen, der Ihre Abfrage unterstützt.

Dazu benötigen Sie den pg_trgm Verlängerung; Führen Sie Folgendes als Superuser aus:

CREATE EXTENSION pg_trgm;

Dann können Sie einen GIN-Index erstellen:

CREATE INDEX ON dir USING gin (path gin_trgm_ops);

Dieser Index kann mit Ihrem zweiten und dritten Ansatz verwendet werden, also sollte er für Sie ausreichen.

Bei kurzen Mustern wie dem in Ihren Beispielen wird der Index nicht sehr effektiv sein.

Sie können auch einen GiST-Index verwenden, der wahrscheinlich kleiner, aber langsamer zu durchsuchen ist.

Beachten Sie, dass Sie diesen Index auch mit Mustern verwenden können, die mit % beginnen .