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

Postgres `gin_trgm_ops` indeks bliver ikke brugt

Pyt, jeg fandt problemet.

Forespørgselsplanlæggeren var smartere end mit legetøjstestsæt; Da de fleste rækker matcher forespørgslen, gik den til en sekventiel scanning.

Hvis jeg prøver med ilike '%nd 0%' i stedet matcher ingen rækker og FORKLAR ANALYSER rapporter Bitmap Index Scan on test3_value_trgm_idx korrekt.

Så normalisering af den originale JSONB på denne måde fungerer. Men jeg vil også prøve at finde og sammenligne en anden måde ved at bruge regulære udtryk over TEXT , for at undgå at skulle oprette og vedligeholde endnu en tabel.




  1. DATE_SUB() Eksempler – MySQL

  2. mysqld-tjenesten stopper en gang om dagen på ec2-serveren

  3. Parallellerende opkald i PL/SQL

  4. Hvordan kontrollerer jeg, om en streng indeholder et tal