Opiniones de : llave compuesta y velocidad

30/03/2005 - 22:00 por SergioT | Informe spam
Hola

Una pregunta

tengo una jerarquia de tablas asi:
T1( c1,c2,c3, otros campos) la llave es: c1+c2+c3
Tabla Abuela
T2( c1,c2,c3, c4, otros campos) la llave es: c1+c2+c3+c4
Tabla Padre/hija
T3( c1,c2,c3, c4, c5, otros campos) la llave es: c1+c2+c3+c4+c5
Tabla Hija/nieta

He pensado en cambiar esta estructura a :
T1( c1,c2,c3, otros campos,K1) la llave es: c1+c2+c3
T2( c1,c2,c3, c4, otros campos,K1,K2) la llave es: K1
T3( c1,c2,c3, c4, c5, otros campos,K2) la llave es: K2

De forma que c1,c2,c3 quedan como datos rebundantes simplemente

Las preguntas son:

1) Al utilizar un solo campo como Llave de registro, ahorro tiempo en
consultas?? es mas option??? o es lo mismo para el sql??

2) Al no quitar de T3 la referencia a T1 puedo obtener datos de T1 sin
tener que incluir a T2 en la consulta, por tanto mejoro el rendimiento
cierto????

3) Sabienqdo que utilizaré mucho los campos Cx de T3 me conviene volver a
cada uno de ellos un indice en T3 ???
gracias
 

Leer las respuestas

#1 MAXI
31/03/2005 - 00:46 | Informe spam
Hola, vayamos por partes dijo Jack ;-)

1) Al utilizar un solo campo como Llave de registro, ahorro tiempo en
consultas?? es mas option??? o es lo mismo para el sql??



En principio si, ya que una llave menor es mas optima (cuanto, hay veces que
es muy dificil de medirlo), lo que si ahorraras espacio en el servidor y
esto si puede ser todo un tema.

2) Al no quitar de T3 la referencia a T1 puedo obtener datos de T1 sin
tener que incluir a T2 en la consulta, por tanto mejoro el rendimiento
cierto????



Aca no te comprendi :(

3) Sabienqdo que utilizaré mucho los campos Cx de T3 me conviene volver a
cada uno de ellos un indice en T3 ???
gracias



Depende, si las busquedas seran por esos campos es una opcion. Recuerda
siempre que la generacion de indices penaliza algunas operaciones como por
ej

Insert - Update - Delete



Maxi
Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)



"SergioT" escribió en el mensaje
news:
Hola

Una pregunta

tengo una jerarquia de tablas asi:
T1( c1,c2,c3, otros campos) la llave es: c1+c2+c3
Tabla Abuela
T2( c1,c2,c3, c4, otros campos) la llave es: c1+c2+c3+c4
Tabla Padre/hija
T3( c1,c2,c3, c4, c5, otros campos) la llave es: c1+c2+c3+c4+c5
Tabla Hija/nieta

He pensado en cambiar esta estructura a :
T1( c1,c2,c3, otros campos,K1) la llave es: c1+c2+c3
T2( c1,c2,c3, c4, otros campos,K1,K2) la llave es: K1
T3( c1,c2,c3, c4, c5, otros campos,K2) la llave es: K2

De forma que c1,c2,c3 quedan como datos rebundantes simplemente

Las preguntas son:

1) Al utilizar un solo campo como Llave de registro, ahorro tiempo en
consultas?? es mas option??? o es lo mismo para el sql??

2) Al no quitar de T3 la referencia a T1 puedo obtener datos de T1 sin
tener que incluir a T2 en la consulta, por tanto mejoro el rendimiento
cierto????

3) Sabienqdo que utilizaré mucho los campos Cx de T3 me conviene volver a
cada uno de ellos un indice en T3 ???
gracias


Preguntas similares