Re: Criterio para crear indices

From: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
To: Edwin De La Cruz <edwinspire(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Criterio para crear indices
Date: 2015-09-16 19:28:54
Message-ID: 361061417.233030.1442431734696.JavaMail.root@fmed.uba.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Mensaje original -----
> De: "Edwin De La Cruz" <edwinspire(at)gmail(dot)com>
> Para: pgsql-es-ayuda(at)postgresql(dot)org
> CC: "Gerardo Herzig" <gherzig(at)fmed(dot)uba(dot)ar>
> Enviados: Miércoles, 16 de Septiembre 2015 16:17:18
> Asunto: Re: [pgsql-es-ayuda] Criterio para crear indices
>
> El 16/09/15 a las 13:01, Gerardo Herzig escribió:
> > /*
> > >FOR idevent_for_close_on_restore IN SELECT idevent FROM events
> > >WHERE
> > >ideventtype = ANY(et.auto_close_on_event_defined)
> > >AND status = 0 AND idaccount = NEW.idaccount AND zu = NEW.zu AND
> > >idevent != NEW.idevent LOOP
> > >
> > >INSERT INTO event_comments(
> > >comment_event, status,
> > >idevent)
> > >VALUES ('Event closed for restoring event idevent '||NEW.idevent,
> > >7,
> > >idevent_for_close_on_restore);
> > >
> > >END LOOP;
> > >*/
>
> Si dejo el codigo como se muestra a continuacion:
>
> FOR idevent_for_close_on_restore IN SELECT idevent FROM events WHERE
> ideventtype = ANY(et.auto_close_on_event_defined)
> AND status = 0 AND idaccount = NEW.idaccount AND zu = NEW.zu AND
> idevent != NEW.idevent LOOP
> /*
> INSERT INTO event_comments(
> comment_event, status,
> idevent)
> VALUES ('Event closed for restoring event idevent '||NEW.idevent, 7,
> idevent_for_close_on_restore);
> */
> END LOOP;
>
> igual se vuelve muy lento el script, probé hace unas semanas atras
> con ANALIZE EXPLAIN y se demoró unos 40 segundos en correr, y eso
> que solo era prueba. Lo que pude ver es que recorre todas las
> particiones y las particiones de las particiones de la tabla events,
> que de momento como dije son mas de 40 millones de registros
> repartidos en unas 15 tablas.
> El indice lo creo solo en la tabla padre o en todas las hijas, creo
> que lo logico seria en todas las hijas, pues son las que contienen
> datos.
>

Exacto, conviene hacerlo para todas las hijas.

Puede que aun tenga que recorrer todas las particiones (depende del criterio qe hayas usado para particionar), pero la espectativa es que lo haga mas rapido si hay indices.

Saludos,
Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2015-09-17 13:20:41 Re: Criterio para crear indices
Previous Message Edwin De La Cruz 2015-09-16 19:17:18 Re: Criterio para crear indices