Re: Ayuda Consulta de fechas

From: motum hesa <motums(at)gmail(dot)com>
To: Lista PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda Consulta de fechas
Date: 2011-07-26 23:36:37
Message-ID: CAJu20Aj3jT26zzYA9PWRDegpbMrS+R3r1ezTYzNEeP4-cf-i-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Alvaro, gracias por responder, Estoy tratando de checar todo lo
que me comentaste, mas o menos como sigue

>
> Creo que parte del problema es que los índices no están bien escogidos.
> La lista es la siguiente:
>
>        "datosentrada_his_pk" PRIMARY KEY, btree (importacionid)
>        "fki_importacionid_his" btree (importacionid)
>        "fki_vehiculo_his" btree (unitno, flota)
>        "fki_viajeactivo_his" btree (viajeactivo)
>        "ind_fecha" btree (fechacreacion DESC)
>        "inf_fecha_id_his" btree (fechacreacion, importacionid)
>
> El índice fki_importacionid_his no sirve para nada porque la llave
> primaria ya creó un índice en ese mismo campo.  Te sugiero borrarlo.

Hoy lo borro

>
> El índice ind_fecha es redundante con inf_fecha_id_his.  A menos que se
> uso mucho, te sugiero borrarlo también.  Hago notar que un índice se
> puede recorrer en ambas direcciones, así que tener uno ASC y uno DESC no
> aporta en nada.  Te sugiero borrar ind_fecha.
>

Si tengo muchas consultas solo por la fecha, buscando pues uso menos
el segundo indice el cual pues intentare borrar para ver que pasa. de
hecho casi siempre busco una fecha para obtener el valor del campo
importacionid

> El índice fki_viajeactivo_his suena bastante sospechoso, pero habría que
> saber qué hace el campo viajeactivo antes de dar una opinión.

El campo viajeactivo, hace referencia a otra tabla que es donde se
guardan los viajes realizados por una unidad por ejemplo, salio de
base tal dia con tales valores y regreso tal dia con tales valores, en
la tabla en cuestion "datosentrada_his" se hace referencia a
viajeactivo en el momento que llegaron los datos para cuando se quiera
hacer el analisis del viaje o si se quiere hacer un analisis solo por
fecha.

>
> Ninguno de estos cambios haría nada para mejorar esta consulta, pero sí
> debería ayudar a que el sistema sea un poco menos lento en términos
> generales.

Ok.. eso ayudara mucho.. gracias

>
> Para mejorar esta consulta creo que deberías tener un índice en
> (unitno, flota, fechacreacion).  Agrégalo y prueba de nuevo la consulta
> a ver si lo usa.

Voy a crear el indice que mencionas aunque precisamente las consultas
lentas no incluyen unidad, pero es posible que ayude con el group asi
k lo hare hoy en la noche. gracias nuevamente.

>
> Ya mencionaste que has hecho modificaciones en una BD que escribió
> otra persona, sin cambiar los campos de las tablas.  Yo te recomendaría
> bastante que trataras de hacer una mejora en el diseño moviendo columnas
> de manera que tu diseño sea normal (como en "forma normal").
>

Ok.. por su puesto que hare caso a esa recomendacion aunque no lo
puedo hacer rapido ya que voy a tener un problema con los
programadores.. jejeje.. trabajan hibernate y pues van a repelar..
mientras tanto tratare de hacer un diseño mejor de esa tabla usando la
"forma normal". Gracias nuevamente por constestar.. ya te comentare
que pasa con los cambios.

> --
> Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>

Mientras tanto te comento que las consultas mas lentas son donde uso
las funciones MAX y MIN... el indice que me comentas ayudara... o
tienes alguna recomendacion mas para usar este tipo de funciones. ?

Saludos

Roberto Campos

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2011-07-27 02:02:49 Re: Ayuda Consulta de fechas
Previous Message Alvaro Herrera 2011-07-26 16:26:38 Re: Ayuda Consulta de fechas