Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/03/2013, 12:54
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 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)