
08/03/2013, 12:54
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 meses Puntos: 2658 | |
Respuesta: Manejo de Indices Estás perdiendo de vista lo que dije: Depende del dato que se representará.
Si tiene ceros a la izquierda, como por ejemplo los numeros telefónicos, no puedes usar campos numéricos. Sólo VARCHAR.
Desde el punto de vista de la performance absoluta (a nivel de kernel), los números son siempre más eficientes, porque no requieren interpretación. Se evalúan en forma binaria. Ahora bien, eso se nota recién cuando hablamos de millones de registros.
Lo dicho primero no quiere decir que sea necesario o correcto usarlos como PK. Esa elección depende de lo que represente esa tabla.
Es un tema de análisis de sistemas, cuando se definen los requerimientos.
Hacerlo porque "dicen" que es más performante puede llevarte a errores de diseño graves, como por ejemplo creer que en lugar de usar una combinación de fecha y hora como PK es menos eficiente que un número. El error es que en la estructura de almacenamiento de una base de datos, una fecha es un número. ¿Sabías eso? No es un campo VARCHAR, ni existe como "fecha", es un numero.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |