Salut
Envoyé par
SQLpro
Donc on est bien d'accord, aucune recherche directe de valeur n'est possible.
J'ai vraiment de la peine à imaginer une requête cherchant une VALEUR dans le json ou le xml sans préciser la CLE ou le CHEMIN.
Le reste du message n'a pas plus d’intérêt.
Un petit demo...
J'ai créé une table avec du jsonb...
1 2 3 4 5 6
| CREATE TABLE pjsonb (
idp integer NOT NULL,
prenomp character varying(30),
nomp character varying(30),
parent jsonb
); |
et insérer des données de cette manière...
INSERT INTO pjsonb (idp, prenomp, nomp, parent) VALUES (x, 'xx', 'yyy', '{"mere": {"nom": "iii", "prenom": "uuu"}, "pere": {"nom": "ooo", "prenom": "eee"}}');
plus un index
CREATE INDEX idxgin ON personne.pjsonb USING gin (parent);
Ci-joint le dump de 2615 lignesdump.zip
Tu peux faire tes essaies avec les requêtes du genre...
explain analyse select * from pjsonb where parent @>'{"mere":{"prenom":"Aminata"}}'::jsonb
et comparer les performances.
@+
Partager