mysql - type - enum(''yes'', ''no'') vs tinyint-¿cuál usar?
set mysql sql (3)
¿Cuál es la mejor práctica para los campos que contienen valores verdaderos / falsos?
Dichas columnas se pueden definir como enumeración (''sí'', ''no'') o como tinyint (1). ¿Es uno mejor / más rápido que el otro?
¿Es mejor usar enum (''1'', ''0'') contra enum (''sí'', ''no'') (es decir, escribe ''sí'' o ''no'' como una cadena en cada fila para que la base de datos almacene el tamaño se hace más grande)?
evitar la enumeración de estas reasons
La conclusión es que ENUM tiene su lugar, pero debe usarse con moderación. El modelo debe hacer cumplir las restricciones, no la base de datos; el modelo debe manejar la interpretación de datos sin procesar en información útil para sus vistas, no en la base de datos.
BOOLEAN
tipo BOOLEAN
está ahí por una razón. De hecho, es un TINYINT(1)
pero como está ahí, debe ser la forma recomendada.
Además, ENUM
es una extensión no estándar de MySql. Debe evitarlo, especialmente si puede lograr los mismos resultados de manera estándar.