sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres `gin_trgm_ops` index används inte

Strunt i, jag hittade problemet.

Frågeplaneraren var smartare än min leksakstestuppsättning; eftersom de flesta rader matchar frågan, gick den för en sekventiell genomsökning.

Om jag försöker med ilike '%nd 0%' istället matchar inga rader och FÖRKLARA ANALYSER rapporter Bitmap Index Scan on test3_value_trgm_idx korrekt.

Så att normalisera den ursprungliga JSONB på detta sätt fungerar. Men jag ska också försöka hitta och jämföra ett annat sätt, genom att använda reguljära uttryck över TEXT , för att undvika att behöva skapa och underhålla ytterligare en tabell.




  1. Hur frågar jag efter XML-värden och attribut från tabellen i SQL Server?

  2. Hur filtrerar (eller ersätter) unicode-tecken som skulle ta mer än 3 byte i UTF-8?

  3. 8 sätt att lägga till mikrosekunder till ett Datetime-värde i MariaDB

  4. En tabell finns fortfarande när den släpps