Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/11/2011, 11:07
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: cual me sirve mejor?

Así no se analiza el rango de los datos que van en cada tipo. Depende de qué es lo que tengas que guardar.
Los valores numéricos enteros se ponen en campos de tipo TINYINT, SMALLINT, MEDIUMINT, INT o BIGINT. Usan un mínimo de 1 byte a un máximo de 8, y no se necesita más para representar un número del orden de 18.446.744.073.709.551.615, porque los números no se almacenan como cidras sino como valores binarios.
Los decimales en DOUBLE, FLOAT, DECIMAL, REAL, etc. Usan un máximo de 8 bytes.
Los valores monetarios, MySQL aconseja usar DECIMAL, porque es un formato de precisión, mientras que los otros son formatos por aproximación.
Las cadenas de caracteres van en CHAR o VARCHAR. Si la cadena será mayor a 65 Kb, se usan TEXT, BLOB, que pueden llegar a los 4Gb. Para los archivos binarios corresponde BLOB.
Las fechas usan DATE, DATETIME, TIME, UNIXTIME, TIMESTAMP, por ejemplo. El máximo de estos usa 8 Bytes, porque también se almacenan como binarios.

Así que como verás, el tema no pasa por saber cuál es el de mayor capacidad, sino cuál es el que corresponde usar para cada tipo de dato. Por darte un ejemplo, si vas a almacenar un numero de documento, se hace en VARCHAR o CHAR, pero si lo que vas a guardar es un ID autonumérico, puedes usar INT o BIGINT, o si vas a almacenar valores monetarios, es un DECIMAL(14,2)... y así sucesivamente.

Si quieres ver mejor el tema, ve al manual de referencia: Capítulo 11. Tipos de columna
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)