PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да използвате много оператори LIKE и да използвате индекс

Можете да създадете триграмен индекс, който ще поддържа вашата заявка.

За целта ви трябва pg_trgm разширение; изпълнете следното като суперпотребител:

CREATE EXTENSION pg_trgm;

След това можете да създадете GIN индекс:

CREATE INDEX ON dir USING gin (path gin_trgm_ops);

Този индекс може да се използва с вашия втори и трети подход, така че трябва да свърши работа вместо вас.

С кратки шаблони като този във вашите примери, индексът няма да е много ефективен.

Можете също така да използвате GiST индекс, който вероятно ще бъде по-малък, но по-бавен за търсене.

Обърнете внимание, че можете да използвате този индекс и с шаблони, които започват с % .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. (var)char като типа на колоната за изпълнение?

  2. PostgreSQL и ActiveRecord подизбират за състояние на състезание

  3. Изключете припокриващи се периоди във времевата агрегатна функция

  4. Местоположение по подразбиране на базата данни PostgreSQL в Linux

  5. Как да импортирам CSV в postgresql, който вече има присвоен ID?