At 14:44 03/05/2011, Alvaro Herrera wrote:
Excerpts from Eduardo's message of mar may 03 06:23:40 -0300 2011:

> Yo estoy con este tipo de temas aunque trabajo
> con imagenes mas pequeñas. Para imagenes como
> estas, puedes incrustarlas en la bd. Para ello te
> recomiendo crear una tabla aparte con dos campos,
> un id y la imagen propiamente dicha. No metas la
> imagen en la tabla de trabajo con mas campos, eso
> hara que cada fila de dicha tabla sea mas grande
> que si creas la tabla aparte y tendras un
> rendimiento menor.

Eh, esto no es así.  En Postgres, los campos que son "demasiado largos"
quedan guardados automáticamente en una tabla aparte (llamada "tabla
TOAST") y en la tabla principal se guarda solamente una referencia.

http://www.postgresql.org/docs/9.0/static/storage-toast.html

En la práctica esto significa que pasa lo mismo que tú describes, sólo
que en vez de tener que modificar tu aplicación para que funcione de
esta forma, Postgres se hace cargo automáticamente.

("Demasiado largos" ocurre cuando el registro mide 2kB o más, así que
una imagen de 70kB siempre irá a la tabla toast)

Tienes toda la razon Alvaro se me habia pasado el limite. La forma que yo describo puede usarla si la misma imagen es referenciada en multiples filas, por lo que hara falta otro nivel mas de normalizacion de la tabla de forma explicita en la definicion de la bd en vez de implicita, en la implementacion que el rbdms hace de la tabla mediante el toast.

--
Álvaro Herrera <alvhe...@alvh.no-ip.org>

Un saludo
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a