PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Abfrageleistung in PostgreSQL mit „similar to“

Wenn Sie nur Listen mit Ein-Zeichen-Werten durchsuchen wollen, teilen Sie jeden String in ein Array von Zeichen auf und indizieren Sie das Array:

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

Suchen Sie dann nach dem Index:

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