Hallo,
es geht um die Möglichkeiten von json oder jsonb im Vergleich zu noSQL, z.B. Mongo.
Ich habe eine Tabelle mit ein paar Millionen Datensätzen und einem GIN Index.
CREATE TABLE device_jb (
jbid serial NOT NULL,
jbdata jsonb
);
CREATE INDEX idxginjbdata
ON device_jb USING gin (jbdata);
Ich habe verstanden, dass ich mit dem @> / <@ Operator diesen Index nutzen kann und sehr schnelle Suche möglich ist, z.B. wenige MS bei Millionen Datensätzen
select jbdata->'configuration' from device_jb
where jbdata @> '{"configuration":"d68c28825e2909224785aae367670523"}'
Wie sieht es nun mit Wildcard Suche aus, geht das überhaupt? Gemeint wäre:
select jbdata->'configuration' from device_jb
where jbdata LIKE '{"configuration":"d68c28825e%"}'
(Und diese Operatoren funktionieren nur auf Ebene 1 des JSON?)
Sollte man lieber gleich mit TRIGRAM Indizierung arbeiten bzw. was spricht dagegen?