Forums Últimos mensajes - Powered by IBM
 

Un consejo sobre uso de uniqueidentifier

03/06/2005 - 16:07 por Manuel Vera | Informe spam
Hola

Estuve leyendo en el BOL sobre el uniqueidentifier pero quería una
apreciación
basada en la experiencia respecto a lo siguiente.
Ya se que esos valores son únicos sobre toda la faz de la tierra. Que debo
usar NEWID() y ISROWGUID.
Y para certificar su "unicidad" o no repetición, debo asignarle un PRIMARY
KEY o UNIQUE al campo.

Ahora...
Yo tengo actualmente una tabla de "cupones de descuento" con un campo
char(12). En el programa genero una cadena aleatoria de esos
12 caracteres mayúsculos alfanuméricos que representan la clave primaria de
la tabla. Cada cupón generado se envía a un cliente en particular.
Eso ya esta hecho en la base de datos y en el programa. Aclaro que esto ya
está en producción y funcionando.
Pero ya tengo muchos de esos registros obsoletos pues ya han caducado (tengo
a partir del año 2000). Y necesito liberar espacio en la base de datos.
Cabe destacar que hay 2 o 3 tablas relacionadas a esta tabla de cupones,
enlazadas por el campo clave "codigo de cupón".

¿Es conveniente reemplazar el char(12) por uniqueidentifier con la
correspondiente modificación del programa?
La pregunta va desde el punto de vista que se envia la cadena
xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx al cliente en ves de la cadena xxxxxxxxxxxx.
Aparte, ¿sería mejor en la tabla de cupones colocar un ID autoincrement como
PRIMARYKEY y establecer la columna uniqueidentifier como UNIQUE?
¿Que tal el performance de las consultas?

Gracias
Manuel
 

Leer las respuestas

#1 Maxi
05/06/2005 - 01:50 | Informe spam
Hola, mmm todo depende, yo para las numeraciones hago algo asi como:

http://www.microsoft.com/spanish/ms...art187.asp


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Manuel Vera" escribió en el mensaje
news:
Hola

Estuve leyendo en el BOL sobre el uniqueidentifier pero quería una
apreciación
basada en la experiencia respecto a lo siguiente.
Ya se que esos valores son únicos sobre toda la faz de la tierra. Que debo
usar NEWID() y ISROWGUID.
Y para certificar su "unicidad" o no repetición, debo asignarle un PRIMARY
KEY o UNIQUE al campo.

Ahora...
Yo tengo actualmente una tabla de "cupones de descuento" con un campo
char(12). En el programa genero una cadena aleatoria de esos
12 caracteres mayúsculos alfanuméricos que representan la clave primaria
de
la tabla. Cada cupón generado se envía a un cliente en particular.
Eso ya esta hecho en la base de datos y en el programa. Aclaro que esto ya
está en producción y funcionando.
Pero ya tengo muchos de esos registros obsoletos pues ya han caducado
(tengo
a partir del año 2000). Y necesito liberar espacio en la base de datos.
Cabe destacar que hay 2 o 3 tablas relacionadas a esta tabla de cupones,
enlazadas por el campo clave "codigo de cupón".

¿Es conveniente reemplazar el char(12) por uniqueidentifier con la
correspondiente modificación del programa?
La pregunta va desde el punto de vista que se envia la cadena
xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx al cliente en ves de la cadena
xxxxxxxxxxxx.
Aparte, ¿sería mejor en la tabla de cupones colocar un ID autoincrement
como
PRIMARYKEY y establecer la columna uniqueidentifier como UNIQUE?
¿Que tal el performance de las consultas?

Gracias
Manuel


Preguntas similares