From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Edwin Perez Lozano <edwinandperez(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: tipo de dato para los indices |
Date: | 2006-12-19 14:33:12 |
Message-ID: | 20061219143312.GI27098@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Edwin Perez Lozano escribió:
> Hola a todos los de la lista.
>
> Bueno mis inquietudes son las siguientes:
>
> 1.Planeo crear una tabla donde la llave primaria esta compuesta por dos
> campos varchar(7)( ejeplo; TPO_PER, PER_CON) y estara relacionada con
> varias tablas en donde creare un indice por la llave foranea, ahora se
> castiga mucho en rendimiento si manejo este tipo de dato varchar en vez
> de un entero en un indice?
Se castiga bastante, si. Algunos sugeririan agregar una columna SERIAL
y hacer que esa sea la llave primaria, y dejar (TPO_PER, PER_CON) como
una llave adicional (marcada UNIQUE y NOT NULL). Otros dirian que eso
es un sacrilegio y atenta contra las santas reglas de la normalizacion.
Yo estaria de acuerdo con ambos y pondria el SERIAL de todas formas,
porque no estamos aqui para ser santos sino para entregar soluciones.
> 2. Tengo el siguiente caso: en una entidad donde el dato primario es un
> numero que tiene 11 digitos, el dato es un numero de factura, por el
> momento se tiene planeado manejarlo con bigint dado que tiene mejor
> rendimiento que un numeric pero esto tendra la desventaja que en varios
> años el numero sobrepasara lo soportado por el bigint, entonces estoy en
> el dilema si declarar el campo numeric(n) y castigar el rendimiento o
> declararlo bigint y cuando llegue el momento hacer un cambio de tipo...
Declaralo bigint y cuando llegues al limite haces el cambio. Tengo la
impresion de que el universo se terminara por recalentamiento antes de
que esto suceda.
alvherre=# select 8500000000000000000::bigint;
int8
---------------------
8500000000000000000
(1 fila)
Si tienes sucesores suficientes como para sobrevivir hasta el
recalentamiento, dales mi mensaje de buena suerte en su lucha contra la
entropia.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Perez Lozano | 2006-12-19 15:20:21 | Re: tipo de dato para los indices |
Previous Message | Edwin Perez Lozano | 2006-12-19 14:11:43 | tipo de dato para los indices |