2011-09-14 37 views
12

Estoy tratando de comprender los tipos de datos de mysql, pero no obtengo la diferencia entre los campos de datos (Var-) BINARY y los BLOB-Fields. ¿Cuál es la diferencia entre estos tipos?MYSQL: Diferencia entre Binary y Blob

Respuesta

13

BLOB puede ser tan grande como desee.

Además, la lectura del manual de MySQL en línea:

BLOB y TEXT difieren de VARBINARY y VARCHAR de las siguientes maneras:

  • No hay eliminación de arrastre en el espacio para columnas BLOB y TEXT cuando se almacenan o recuperan valores. Antes de MySQL 5.0.3, esto difiere de VARBINARY y VARCHAR, por lo que los espacios finales se eliminan cuando se almacenan los valores .

  • En las comparaciones, TEXT es espacio ampliado para caber el objeto comparado, exactamente como CHAR y VARCHAR.

  • Para los índices en las columnas BLOB y TEXT, debe especificar un prefijo de índice de longitud. Para CHAR y VARCHAR, una longitud de prefijo es opcional. Consulte la Sección 7.5.1, "Índices de columna".

  • Las columnas BLOB y TEXT no pueden tener valores PREDETERMINADOS.

+0

'Tan grande como quieras' siempre que sea menor que 2^32B (para LONGBLOB). También: * Las columnas TEXT y * BLOB no se almacenan junto a todas las otras columnas, por lo que acceder a ellas puede ser un poco más lento, pero en el lado positivo, no cuentan para un tamaño de fila máximo de 64 kB. – Mchl

3

Los tipos binary y varbinary son cadenas binarias cuyos valores reales se almacenan en la tabla. Los tipos de blobs (y texto) de valores reales se almacenan en otro lugar de la base de datos con un alias de 256 bytes para esa ranura que se coloca en la tabla; el blob puede por lo tanto ser de cualquier tamaño (hasta el máximo).

Cuestiones relacionadas