Re: como definir tablas para que las consultas sean rapidas ?

From: "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: como definir tablas para que las consultas sean rapidas ?
Date: 2008-07-05 19:05:44
Message-ID: 8398dc6d0807051205l295211a7ka1750e48c07f349a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2008/7/5 Carlos Mendez <lucas1850(at)gmail(dot)com>:
> Hola, que tal,
>
> estoy haciendo un proyecto para un instituto y cada año la informacion se
> incrementara, por el momento tal vez el sistema funcione pero a largo plazo?
> bueno esa es la duda, estoy buscando que la bd sea rapida ahora y a largo
> plazo,
> por ejemplo tengo estas 2 tablas:
> tabla 1:
> CREATE TABLE alumnos(
> id serial NOT NULL,
> paterno character varying(50) NOT NULL,
> materno character varying(50),
> nombre character varying(50) NOT NULL,
> direccion character varying(50) NOT NULL,
> telefono character varying(50) NULL,
> email character varying(50) NULL,
> sexo character varying(1) NOT NULL,
> estado character varying(1) NOT NULL,
> fecha_nac date NOT NULL,
> fecha date NOT NULL,
> PRIMARY KEY (id),
> UNIQUE(paterno,materno,nombre,fecha_nac)
> )without oids;
>
> tabla 2:
> CREATE TABLE alumnos(
> id serial NOT NULL,
> paterno character varying(50) NOT NULL,
> materno character varying(50),
> nombre character varying(50) NOT NULL,
> direccion character varying(50) NOT NULL,
> telefono character varying(50) NULL,
> email character varying(50) NULL,
> sexo character varying(1) NOT NULL,
> estado character varying(1) NOT NULL,
> fecha_nac date NOT NULL,
> fecha date NOT NULL,
> PRIMARY KEY (paterno,materno,nombre,fecha_nac)
> )without oids;
>
> yo creo que la tabla 1 seria mas rapida que la tabla 2, es decir
> intuitivamente, porque la tabla 1 se ligaria con otras tablas simplemente
> por el id y listo en cambio tabla 2 seria mas complicado y demoroso ligarlo
> con otras tablas,
> Este es solo ejemplo, agradeceria cualquier sugerencia, tips, ayuda para que
> las consultas sean mas rapidas aunque tengan muchos datos,
> gracias de antemano por la ayuda,
> saludos.
>
>
>

Sin dudas ya que tendrías que replicar la clave primaria como foránea
en las que vayas a crear, en el primer ejemplo debería leer del disco
sólo el campo id (4 bytes) en el segundo
paterno,materno,nombre,fecha_nac (que será variable pero siempre mayor
a 4 bytes).
Saludos, Alejandro

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-07-06 01:03:38 Re: como definir tablas para que las consultas sean rapidas ?
Previous Message Jaime Casanova 2008-07-05 18:29:35 Re: Indice en integer versus indice en char(n)