Re: Select sobre tabla con byte[] es lento

From: Fernando Paz <fernandopaz(at)softwareevolutivo(dot)com(dot)ec>
To: René Romero Benavides <ichbinrene(at)gmail(dot)com>
Cc: Ayuda Esp PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Select sobre tabla con byte[] es lento
Date: 2013-04-26 22:58:40
Message-ID: CAPZSt8Y4d9C9nT1P7pxtbjfMmOJ=ZysdPMiUXjx7puqB+=c8dg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Holas muchas gracias por la ayuda

En realidad se mejoro mucho aumentando el work_mem a 3MB, aunque también
hice un tuning en el shared y cache size... No puedo probarlo pero tiene
sentido que el costo fuera mayor al tener que segmentar el buffer de salida
por traer el byte[] del archivo... desde este punto de vista el work_mem
tendría peso en este caso de transacciones con archivos

Salud!!!

2013/4/26 René Romero Benavides <ichbinrene(at)gmail(dot)com>

> **
>
> Podrías expresar ese CROSS JOIN COMO INNER JOIN?
>
>
>
> FROM
>
> informacion_ies.evidencias evidencia0_ INNER JOIN informacion_ies.
> evidencias_concepto evidenciac1_
>
>
>
> ON (evidencia0_.id_evidencia_concepto = evidenciac1_.id AND evidencia0_.
> id_tabla = $1 AND evidenciac1_.tabla = $2)
>
>
>
>
>
> Funcionalmente hacen lo mismo, pero déjame descartarlo
>
>
> On Monday, April 22, 2013 12:21:32 PM Fernando Paz wrote:
>
> Claro
>
> select evidencia0_.id as id5_, evidencia0_.descripcion_archivo as
> descripc2_5_, evidencia0_.documento as documento5_,
> evidencia0_.id_evidencia_concepto as id9_5_, evidencia0_.fecha_carga as
> fecha4_5_, evidencia0_.id_tabla as id5_5_, evidencia0_.id_informacion_ies
> as id10_5_, evidencia0_.nombre_archivo as nombre6_5_,
> evidencia0_.observaciones as observac7_5_, evidencia0_.usuario_modificacion
> as usuario8_5_ from informacion_ies.evidencias evidencia0_ cross join
> informacion_ies.evidencias_concepto evidenciac1_ where
> evidencia0_.id_evidencia_concepto=evidenciac1_.id and
> evidencia0_.id_tabla=$1 and evidenciac1_.tabla=$2 order by evidencia0_.id
>
>
> Salu2
>
>
>
> 2013/4/22 Martín Marqués <martin(dot)marques(at)gmail(dot)com>
>
> Podes mandar la consulta?
>
> El día 22 de abril de 2013 13:22, Fernando Paz <fpaz(at)engineer(dot)com>
> escribió:
>
> > Hola,
> >
> > Esta es la salida de explain analyze aunque no entiendo bien la
> diferencias
> >
> >
> > QUERY PLAN
> >
> -------------------------------------------------------------------------------------------------------------------------------------------------------------
> > Sort (cost=739.67..740.00 rows=131 width=144) (actual time=1.156..1.237
> > rows=171 loops=1)
> > Sort Key: evidencia0_.id
> > Sort Method: quicksort Memory: 49kB
> > -> Nested Loop (cost=0.00..735.06 rows=131 width=144) (actual
> > time=0.025..0.981 rows=171 loops=1)
> > -> Seq Scan on evidencias_concepto evidenciac1_
> (cost=0.00..6.54
> > rows=96 width=8) (actual time=0.007..0.076 rows=96 loops=1)
> > Filter: ((tabla)::text = 'ies'::text)
> > -> Index Scan using ix_evidencias_con_tab on evidencias
> > evidencia0_ (cost=0.00..7.58 rows=1 width=144) (actual time=0.005..0.006
> > rows=2 loops=96)
> > Index Cond: ((id_evidencia_concepto = evidenciac1_.id) AND
> > (id_tabla = 1))
> >
> >
> > Gracias
> >
> >
> > 2013/4/22 Martín Marqués <martin(dot)marques(at)gmail(dot)com>
> >>
> >> El día 22 de abril de 2013 12:11, Fernando Paz <fpaz(at)engineer(dot)com>
> >> escribió:
> >> > Holas,
> >> >
> >> > De antemano gracias por ya ayuda.
> >> >
> >> > La cuestión es que tengo una tabla (evidencias) en donde un campo
> >> > almacena
> >> > un archivo de tipo documento (doc,odf,pdf,etc.)
> >> >
> >> > Esta ya a crecido bastante tiene unos 58000 registros que en gigas por
> >> > los
> >> > archivos se traduce en unos 30 GB
> >> >
> >> > se suele hacer una consulta como
> >> >
> >> > select * from evidencias
> >> > where
> >> > tipo = $1 and clase = $2
> >> >
> >> > Al hacer el explain toma correctamente el índice pero su costo esta
> ahi
> >> > por
> >> > los 800, pero ejecutarla se esta demorando más de 10 seg
> >>
> >> EXPLAIN ANALYZE además de "explicarte" lo que el planner piensa hacer
> >> ejecuta la consulta para darte tiempos reales. Que tiempos da explain
> >> analyze?
> >>
> >> > Porque?
> >> >
> >> > Sospecho que es porque tiene almacenamiento de archivos... en ese caso
> >> > que
> >> > parámetro debería optimizar para mejorar el tiempo?
> >>
> >> Cuantas filas, aproximadamente se seleccionan con ese filtro?
> >>
> >> --
> >> Martín Marqués
> >> select 'martin.marques' || '@' || 'gmail.com'
> >> DBA, Programador, Administrador
> >
> >
>
>
>
> --
> Martín Marqués
> select 'martin.marques' || '@' || 'gmail.com'
> DBA, Programador, Administrador
>
>
>
>
>
> --
>
> René Romero Benavides @iCodeiExist <https://twitter.com/iCodeiExist>
> @PgsqlMx <https://twitter.com/PgsqlMx>
>
>
>
> Postgresql Tips en español para la comunidad de México e Hispanoamérica.
>
> http://postgresql.org.mx
>
>
>
>
>
>
>
>
>
>
>
>
>

--

*FERNANDO PAZ MAZON | Specialist Software Development
*
*M. Sc. Software Libre, PostgreSQL CA
*
Fco Salazar E10-37 & Tamayo st, Atlantic Business Center Bldg, suite 501 |
Quito - Ecuador- Southamerica |
*fernandopaz(at)softwareevolutivo(dot)com(dot)ec*<fernandopaz(at)softwareevolutivo(dot)com(dot)ec>|
(593) 2-6041-340 | ( 593) 99-621-3050|
*WE LOVE trees, Prints only if you do NEED, THANKS*

<http://ec.linkedin.com/in/pazfernando>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message René Romero Benavides 2013-04-26 23:15:37 Re: Problema con PostgreSql 9.2 y Freetds
Previous Message René Romero Benavides 2013-04-26 22:45:51 Re: Select sobre tabla con byte[] es lento