2010-02-18 29 views

Respuesta

36

No puede asignar un valor DEFAULT a TINYTEXT y no puede crear un índice no prefijado en este último.

Internamente, los objetos adicionales se asignan en la memoria para manejar TEXT (incluyendo TINYTEXT) columnas que pueden causar la fragmentación de la memoria en los grandes conjuntos de registros.

Tenga en cuenta que esto solo se refiere a la representación interna de la columna en los conjuntos de registros, no a cómo están almacenados en el disco.

+0

¿Qué tal, cuando mysql necesita una tabla temporal, si una burbuja o texto (inc. tinytext) usa el disco en lugar de la memoria para crear la tabla temporal – andho

+8

¿Cuál es más barato (tiempo y ciclos de CPU) para buscar? – Medorator

5

Usando VARCHAR se puede establecer la columna para NULL o NOT NULL y se puede establecer DEFAULT valor, pero no con TEXT. Use VARCHAR si necesita una o ambas características, NULL y DEFAULT.

+3

La columna TINYTEXT también puede ser NULL. – planetp

+0

Pero no es el predeterminado –

-2

en varchar que tiene que establecer la longitud de un carácter mientras que en tanytext no hay nada como esto se ahorra la memoria de la base de datos para excepto:

dirección que tiene que definir el tipo varchar (50) que a su dirección puede ser 50 caracteres o menos la peor condición es su carácter más que el carácter 50 esta es la limitación de varchar si el carácter es menor que 50 que ocupan la memoria de 50 caracteres en este caso la memoria aumenta

así que use tanytext define la longitud del carácter depende del tamaño del carácter para que la memoria se guarde

+0

Esto es incorrecto. Un varchar solo usa tanta memoria como la longitud de lo que está almacenado actualmente (a diferencia de char). Consulte http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html – viblo

+0

Hola, viblo, en varchar predefinimos la longitud de la cadena, lleva la memoria hasta el límite predefinido. esto no es en caso de tanytext. – nilesh

+0

No entiendo lo que quieres decir. Los documentos de MySQL dicen que un varchar requiere "L + 1 bytes si los valores de columna requieren de 0 a 255 bytes, L + 2 bytes si los valores pueden requerir más de 255 bytes" donde L es la longitud real del texto que se está almacenando, no lo que definió el varchar para tener como longitud máxima. – viblo

Cuestiones relacionadas