mi plataforma:¿Qué es más rápido: char (1) o tinyint (1)? ¿Por qué?
PHP & mySQL
mi situación:
me encontré con una situación en la que necesito para almacenar un valor para la selección del usuario en una de mis columnas de una tabla . Ahora mis opciones serían:
- sea para declarar un Columna como char (1) y almacenar el valor como 'y' o 'n'
- o declarar la columna como tinyint (1) y almacenar el valor como 1 o 0
- Esta columna así declarada, también puede ser indexada para su uso dentro de la aplicación.
MIS PREGUNTAS:
por lo que quería saber, ¿cuál de las anteriores dos tipos:
conduce a la velocidad de las consultas más rápido cuando se accede a esa columna (por el bien de simplicidad, vamos a dejar de mezclar otras consultas o acceder a otras columnas, por favor).
¿Es la forma más eficiente de almacenar y acceder a los datos y por qué?
¿Cómo varía la velocidad de acceso si las columnas están indexadas y cuándo no?
Mi entendimiento es que desde char (1) y tinyint (1) ocupan sólo el 1 byte de espacio, el espacio de almacenamiento no será un problema en este caso. Entonces, lo que quedará es la velocidad de acceso. Hasta donde yo sé, la indexación numérica es más rápida y más eficiente que cualquier otra cosa. Pero el caso aquí es difícil de decidir, creo. Definitivamente me gustaría escuchar tu experiencia en este.
Gracias de antemano.
Haz un perfil y avísanos para resoult. – erenon
Una dicotomía falsa, también hay 'enum ('1', '0')' (por ejemplo). –
la pregunta no tiene nada que ver con php, así que eliminé la etiqueta php – streetparade