sql >> Databasteknik >  >> RDS >> PostgreSQL

Fråga prestanda i PostgreSQL med "liknande"

Om du bara ska söka i listor med en-teckenvärden, dela sedan upp varje sträng i en array av tecken och indexera arrayen:

CREATE INDEX
        ix_tablename_columnxlist
ON      tableName
USING   GIN((REGEXP_SPLIT_TO_ARRAY(columnX, '')))

sök sedan mot indexet:

SELECT  *
FROM    tableName
WHERE   REGEXP_SPLIT_TO_ARRAY(columnX, '') && ARRAY['A', 'B', 'C', '1', '2', '3']


  1. Oracle-fel ORA-06512

  2. Mysql Gå med två tabeller på nycklar

  3. PHP XML:Illegal Offset, men det är i array?

  4. Enhetstestning av DDL-satser som måste finnas i en transaktion