Excerpts from Álvaro Hernández Tortosa's message of mié may 11 11:44:57 -0400 
2011:
> Wed, May 11, 2011 at 10:37:03AM -0500, Juan Manuel Acuña Barrera escribió:

> >>     Juan Manuel, con esta información no sé si es el caso, y a lo
> >> mejor me "tiro a la piscina" mucho, pero si la mayor parte de atributos
> >> son de tipo cve_obs_*, donde "*" es algo así como un "evento" o similar,
> >> y teniendo un atributo id como PK, entonces podrías tal vez construir
> >> una tabla del tipo:
> >> 
> >> id        FK,
> >> tipo_evento    un domain de tipo enum o varchar,
> >> valor        integer,
> >> PRIMARY KEY(id,tipo_evento)

No sé, esto que sugieres es un esquema de tipo EAV lo cual normalmente
no es buena idea.  Yo creo que la tabla original con 80 columnas puede
ser una buena solución al problema que tiene.

Considera que cada registro tiene como 24 bytes de sobrecosto de
almacenamiento debido a las cabeceras de tupla.  Si tienes 600000
registros hay como 14 MB sólo en cabeceras de tupla, pero si tienes
600000 * 80 hay 47 MB en cabeceras.  No necesariamente por ser cada
registro más corto será más "eficiente".

En suma, si es más eficiente o no va a depender de los patrones de
acceso y de cómo estén ordenados los registros en la tabla (viz.
CLUSTER)

-- 
Álvaro Herrera <alvhe...@alvh.no-ip.org>
-
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