Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/03/2013, 12:48
Avatar de bandolera
bandolera
 
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Manejo de Indices

Cita:
Iniciado por gnzsoloyo Ver Mensaje
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.
Mi pregunta anterior era en forma genera, comparando un campo código de productos que tiene números con otro que tiene letras y números. Y entendí tu explicación.
Para el análisis de los datos de la BD se deben utilizar las formas normales. Cierto?
__________________
Todos somos iguales. NO! a la violencia de género.