sql >> Base de Datos >  >> RDS >> PostgreSQL

Rendimiento de consultas en PostgreSQL usando 'similar a'

Si solo va a buscar listas de valores de un carácter, divida cada cadena en una matriz de caracteres e indexe la matriz:

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

luego busque en el índice:

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