PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Dlaczego funkcja postgres trigram word_similarity nie używa indeksu gin?

Zgodnie z tą odpowiedzi na forum postgres

Tak więc zapytanie można zaktualizować tak, aby używało indeksu w następujący sposób:

SET pg_trgm.word_similarity_threshold TO 0.1;
SELECT * 
FROM place 
WHERE place.name <<-> '__SOME_STRING__';

Ostrzeżenie :operator używa indeksu tylko z jedną wersją pary komutatorów. Oznacza to, że użył indeksu tylko w przypadku <<-> a nie przypadek <->> . Ten stos jest przepełniony raz na wpis wygląda na to, że daje rozsądne wyjaśnienie, dlaczego:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak przywrócić postgresql DB bez kopii zapasowej

  2. Użyj INSERT ... ON CONFLICT NIC NIE ZWRACAJ nieudanych wierszy

  3. Kodowanie tekstu UTF-8 / Unicode za pomocą RPostgreSQL

  4. Czy są jakieś opcje łączenia tabeli dla skojarzeń wiele-do-wielu?

  5. Indeksowanie SQL na varchar