2009-12-03 30 views
9

¿Cuál es la diferencia entre NULL y Empty String en Mysql?¿cuál es la diferencia entre NULL y Empty en mysql

¿Cuánto espacio de almacenamiento tomará?

Por ejemplo.

En la tabla de usuario

nombre: NULL - ¿Cuánto espacio de su toma

teléfono: -Cuánto espacio de su toma

+0

Ya respondida en http://stackoverflow.com/questions/229179/null-in-mysql-performance-storage – Donnie

+0

No es lo mismo que es – cHeE

Respuesta

4

Existen razones válidas para usar NULL, pero ahorrar espacio en el almacenamiento de filas no es una. Si desea un marcador de posición "no sé", use un NULL; si simplemente desea almacenar una cadena vacía que se comporte como una cadena vacía, continúe y almacene una cadena vacía. Si se trata de una columna VARCHAR (que probablemente será), de todos modos no ocupará mucho espacio.

20

La mejor manera de pensar en NULL es que es venenoso.

Cualquier operación realizada con NULL producirá NULL.

NULL + cualquier tipo de número es nulo. NULL concat cualquier cadena es nula.

Una cadena vacía es una cadena con la longitud de 0.

Ejemplo:

mysql> select concat('hello world', null); 
+-----------------------------+ 
| concat('hello world', null) | 
+-----------------------------+ 
| NULL      | 
+-----------------------------+ 

mysql> select concat('hello world', ''); 
+---------------------------+ 
| concat('hello world', '') | 
+---------------------------+ 
| hello world    | 
+---------------------------+ 

cuanto a ahorro de espacio que depende del tipo de datos se define la columna.

4

El espacio de almacenamiento no debe ser su problema con esto. En cambio, debería preocuparse por la semántica de NULL. Digamos que tenía un vaso en mi casa que nunca antes había visto en su vida. Si le pregunto cuánta agua hay en ese vaso, no puede dar una respuesta válida. La verdad es que no sabes. Ahora, si obtuve el vaso y le mostré que no había agua en él, la respuesta que me daría es "ninguno". NULL es "No sé la respuesta" y la cadena vacía es "Lo sé y la respuesta es la cadena vacía".

Cuestiones relacionadas