Можете да създадете триграмен индекс, който ще поддържа вашата заявка.
За целта ви трябва pg_trgm
разширение; изпълнете следното като суперпотребител:
CREATE EXTENSION pg_trgm;
След това можете да създадете GIN индекс:
CREATE INDEX ON dir USING gin (path gin_trgm_ops);
Този индекс може да се използва с вашия втори и трети подход, така че трябва да свърши работа вместо вас.
С кратки шаблони като този във вашите примери, индексът няма да е много ефективен.
Можете също така да използвате GiST индекс, който вероятно ще бъде по-малък, но по-бавен за търсене.
Обърнете внимание, че можете да използвате този индекс и с шаблони, които започват с %
.