Re: [pgsql-es-ayuda] archivos bytea en postgres ¿se produce el overhead aun usando la tabla solo para consultas individuales?

From: "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] archivos bytea en postgres ¿se produce el overhead aun usando la tabla solo para consultas individuales?
Date: 2014-06-16 22:16:54
Message-ID: CA+KjtGe0ah+TJiL84gR3kq8_UA4U9E3gwTFzTzndygK0f3KEyA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro

gracias por tu pronta respuesta

de hecho son varias tablas pequeñas las que necesito con archivos adjuntos
asi que pense en ponerlos todos en una unica tabla referenciando un id

algo como:

tabla de archivos

id, bytea
1,bytea1
2,bytea2
3,bytea3

solo por el hecho de no tirar un select sobre una tabla que tiene un campo
bytea ya que el comentario de mi amigo de leer el campo me llevo a pensar
que quizas postgres tardaria mas en listar una tabla que tiene un campo
bytea aun cuando este no este dentro del select.

pero ya con lo indicas bastaria con hacer un select sin el bytea y listo y
poner el campo en cada tabla como corresponde.

Por otro lado necesito hacer algo pronto sino igual al ritmo que voy creo
que terminare cansado, canoso y jubilado ;-)

El 16 de junio de 2014, 16:33, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
escribió:

> jvenegasperu . escribió:
>
> > Estoy desarrollando una funcion para subir archivos en mi aplicacion este
> > caso pense guardarlos en la BD
> >
> > consultando y revisando foros algunos comentan que subir archivos a la bd
> > produce mucho overhead innecesario
>
> ¿Hay alguna explicación de a qué se refiere esto? Es de perogrullo que
> subir cosas a la BD causará más carga que no subirlas, pero si le quitas
> esa carga a la BD la impondrás en otra parte, y además vas a tener que
> pensar en los backups de esos archivos y cómo te vas a asegurar de tener
> los archivos correctos, borrar los que no sirven, etc. Para cuando
> soluciones todos esos problemas vas a haber causado más carga de la que
> liberaste en la BD (además de estar cansado, canoso y jubilado)
>
> > de hecho si hago un select * from se tardan mis consultas si excluyo el
> > campo bytea va muy veloz.
>
> Correcto. Entonces la solución es no hacer SELECT * sino listar los
> campos que sí necesitas, y sólo listar el campo bytea cuando lo
> necesites. Separar los campos sólo para poder hacer SELECT * me parece
> una mala estrategia. Ya que estamos ¿por qué no pones un campo en cada
> tabla?
>
> > Un amigo me comenta que basta con hacer una consulta una vez postgresql
> > tiene un cache de memoria que aunque el tipo de dato no entra en la
> memoria
> > si tendra que leerlo y si hay mucha carga quizas se producira errores de
> > locking y overhead.
>
> ??? No me parece que en este párrafo digas nada que tenga sentido.
> ¿Qué son "errores de locking"? ¿A qué overhead se refiere?
>
> --
> Álvaro Herrera http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Training & Services
>

--
José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: jvenegasperu(at)php(dot)net
jvenegasperu(at)gmail(dot)com

PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2014-06-16 22:20:58 Re: archivos bytea en postgres ¿se produce el overhead aun usando la tabla solo para consultas individuales?
Previous Message Alvaro Herrera 2014-06-16 21:33:35 Re: archivos bytea en postgres ¿se produce el overhead aun usando la tabla solo para consultas individuales?