sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor bruger postgres trigram word_similarity-funktionen ikke et gin-indeks?

Ifølge dette postgres-forumsvar

Så forespørgslen kan opdateres til at bruge indekset som følger:

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

Advarsel :Operatøren bruger kun indekset med kun én version af kommutatorparret. Dvs., den brugte kun indekset i tilfældet <<-> og ikke tilfældet <->> . Dette stack overflow q/a-indlæg det ser ud til at give en fornuftig forklaring på hvorfor:




  1. MySQL - At finde ud af, hvilke indekser der skal bruges, OG ikke fungere som forventet

  2. Hvordan kan jeg caste en int til en bit i MySQL 5.1?

  3. drupal sql betingede klausuler for flere tabeller?

  4. Split Entity mapping producerer uventede resultater med oracle database