¿Hacer un dato NULL guarda cualquier memoria frente a su tamaño normal?MySQL: ¿Cuánto espacio usa un campo NULL?
Respuesta
Si configura un campo como not null
tomará menos espacio en MyISAM.
Configurarlo para aceptar null
hará que ocupe más espacio en MyISAM.
En InnoDB null
los valores ocupan menos espacio, por lo que podría funcionar allí.
Si utiliza un campo blob, MySQL lo almacenará en un archivo diferente de todos modos.
alternativa (mi recomendación)
Otra opción es no agregar el campo a esta mesa, pero para hacer
table extra_data
id integer primary key
big_table_id integer
large_data_seldom_used varchar(65000)
Si es necesario seleccionar los datos adicionales hacen:
SELECT large_data_seldom_used FROM bigtable b
INNER JOIN extra_data e ON (e.big_table_id = b.id)
De esta manera no tiene que agregar ningún campo extra a la tabla grande, ahorrando mucho espacio si rara vez se usa el campo extra.
"_En InnoDB los valores nulos ocupan menos espacio_" - si la tabla utiliza el formato de fila REDUNDANTE , esto solo es cierto para las columnas de longitud variable. –
Esto se trata en el capítulo del manual de MySQL en Storage Requirements. No hay una respuesta simple; depende del tipo de datos de la columna, si la columna está indexada; y el motor de almacenamiento. El impacto de usar NULL para una columna puede variar de cero a varios bytes (dependiendo de cuántas otras columnas también sean NULL-able).
El impacto de almacenamiento al declarar una columna como que acepta NULL y de almacenar un NULL valor, es probablemente menor Tener una columna con muchos valores NULL a menudo indica una necesidad de (más) normalización.
La regla básica es diseñar su esquema basándose en las propiedades de los datos, no en el impacto del almacenamiento. Arregle las cosas solo si resultan ser un problema.
- 1. ¿Cómo puedo saber cuánto espacio usa TFS?
- 2. ¿Cuánto texto UTF-8 cabe en un campo MySQL "Texto"?
- 3. ¿Cómo puedo saber cuánto espacio iCloud usa mi aplicación?
- 4. MySQL devuelve un campo vacío: CONCAT (nonEmpty1, empty2, nonEmpty3) = NULL
- 5. ¿Cuánto espacio de disco se necesita para almacenar un valor NULL utilizando postgresql DB?
- 6. Java: ¿cuánto tiempo usa un ciclo vacío?
- 7. campo Mongodb no null delete
- 8. ¿Cuánto almacenamiento real se usa con una declaración varchar (100) en mysql?
- 9. ¿cuál es la diferencia entre NULL y Empty en mysql
- 10. Campo de actualización de MySQL IF NULL u otro valor
- 11. MySQL: ¿cuánto tiempo crear un índice?
- 12. MySQL carga valores NULL de datos CSV
- 13. Entero MySQL 0 vs NULL
- 14. ¿Cuánto espacio necesito para Git vs SVN?
- 15. MySQL LOAD_FILE devuelva NULL
- 16. mysql null a 0
- 17. "is not null" vs boolean MySQL - Rendimiento
- 18. MySQL SELECCIONE un campo como NULL si no existe en la tabla
- 19. ¿Cómo hacer un campo NULL usando las herramientas de GUI de MySQL?
- 20. ¿cuánto espacio extra/RAM/CPU utiliza apache solr?
- 21. Establecer valor en NULL en MySQL
- 22. MySQL Query order por if null
- 23. ¿Cómo se puede determinar cuánto espacio en disco está ocupando una determinada tabla MySQL?
- 24. MySQL: NULL Encasillamiento a 0
- 25. ORDER BY NULL en MySQL
- 26. Cómo establecer un valor en NULL cuando se usa Zend_Db
- 27. findViewById devuelve NULL cuando se usa Fragment
- 28. ¿Es posible eliminar todo después de un 'espacio' en el campo MySQL?
- 29. ¿Puedo insertar una cadena vacía en un campo NOT NULL?
- 30. pasar un valor NULL a DateTime campo en LINQ
Deberías echar un vistazo aquí: http://stackoverflow.com/questions/229179/null-in-mysql-performance-storage –