Hola a todos:
estoy buscando la forma de mejorar una consulta a un campo json
el campo en cuestion es "jmarc"
y contiene informacion como esta (extracto, el registro tiene 30 claves
json)

{
   "id":"OUNOUNCON000712",
   "format":[
      "Impreso"
   ],
 "title":
"El derecho del mar : estados archipela\u0301gicos : historia
legislativa de la parte IV de la Convencio\u0301n de las Naciones
Unidas sobre el Derecho del Mar \/ Oficina de Asuntos Ocea\u0301nicos
y del Derecho del Mar."
,
   "building":"Biblioteca Central",
  "recordtype":"marc"
}

Estoy usando esta consulta en una gran base de datos de 960mb y 300.000
registros.

select  identificador, idcatalogo, titulo  from
catalogo where idcoleccion = 2  and json_extract_path_text(jmarc,'title')
ilike '%arte%' order by identificador LIMIT 1 OFFSET 6

hay forma de optimizar la consulta de tipo ilike  como la que estoy
haciendo  ?

el indice creado es:
CREATE INDEX idx_catalogo_jj_title ON catalogo USING btree
(json_extract_path_text(jmarc, VARIADIC ARRAY['title'::text]))





Lic. Horacio Degiorgi
http://bdigital.uncu.edu.ar
http://sid.uncu.edu.ar
Mendoza - Argentina

Responder a