Re: excepcion en SELECT *

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Álvaro Hernández Tortosa <aht(at)nosys(dot)es>
Cc: Juan Manuel Acuña Barrera <gps1mx(at)gmail(dot)com>, Lista PostgreSQL en Español <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: excepcion en SELECT *
Date: 2011-05-11 15:56:28
Message-ID: 1305129179-sup-4317@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 <alvherre(at)alvh(dot)no-ip(dot)org>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Álvaro Hernández Tortosa 2011-05-11 16:02:25 Re: excepcion en SELECT *
Previous Message Ernesto Lozano 2011-05-11 15:49:02 Re: Consulta de Virtual Machine para PostgreSQL