Re: tipo de dato para los indices

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.

In response to

Responses

Browse pgsql-es-ayuda by date

  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