CHAR se almacena como una cadena de longitud fija, VARCHAR se almacena como una cadena de longitud variable. Puedo usar VARCHAR para almacenar una cadena de longitud fija, pero ¿por qué la gente todavía quiere usar CHAR para almacenar una cadena de longitud fija? ¿Hay algún beneficio de usar CHAR sobre VARCHAR? Si ninguno de los beneficios, ¿por qué mySQL base de datos no elimina la opción de CHAR?¿Alguna ventaja de los usos CHAR sobre VARCHAR?
Respuesta
- VARCHAR
varchar tiendas de cadenas de caracteres de longitud variable. puede requerir menos almacenamiento que los tipos de longitud fija porque usa solo tanto espacio como necesita.
varchar también usa 1 o 2 bytes adicionales para registrar la longitud del valor. por ejemplo, varchar (10) usará hasta 11 bytes de espacio de almacenamiento. varchar ayuda al rendimiento porque ahorra espacio. sin embargo, debido a que las filas son de longitud variable, pueden crecer al actualizarlas, lo que puede causar un trabajo adicional. si una fila crece y ya no cabe en su ubicación original, el comportamiento es dependiente del motor de almacenamiento ...
- CHAR
carbón es de longitud fija, MySQL siempre asigna suficiente espacio para la especificada número de caracteres. Al almacenar un valor CHAR, MySQL elimina cualquier espacio final. Los valores se rellenan con espacios según sea necesario para las comparaciones.
char es útil si desea almacenar cadenas muy cortas, o si todos los valores son casi de la misma longitud. Por ejemplo, CHAR es una buena opción para valores de MD5 para contraseñas de usuario, , que siempre tienen la misma longitud.
char también es mejor que VARCHAR para los datos que se cambian con frecuencia, porque una fila de longitud fija no es propensa a la fragmentación.
Ahora veo el beneficio de CHAR sobre el valor de actualización frecuente. Muchas gracias. – zac1987
Nota: No diría que Char es una buena opción para hashes MD5, o cualquier hash realmente. Deben almacenarse en formato binario en lugar de una codificación diferente como es hexadecimal. – Luc
creo que es más rápido para la búsqueda, ya que la base de datos sabe exactamente dónde ir de inmediato en lugar de tener que hacer cálculos de longitud, aunque esto podría no ser muy notable estos días –
- 1. ¿Cuál es la ventaja de usar varbinary sobre varchar aquí?
- 2. ¿ExecuteScalar() tiene alguna ventaja sobre ExecuteReader()?
- 3. ¿Alguna ventaja de pasar el mouse sobre mouseover en JQuery?
- 4. Navaja/CSHTML - ¿Alguna ventaja sobre lo que tenemos?
- 5. Ventaja de SessionStorage sobre Cookie
- 6. rendimiento entre varchar (1) vs char (1)
- 7. Generación JPA/Hibernate DDL; CHAR vs. VARCHAR
- 8. MySQL - TEXTO vs CHAR y VARCHAR
- 9. MySQL - ¿Diferencia entre Char y Varchar?
- 10. La ventaja de esta * * sobre event.target
- 11. Ventaja de IoC sobre mi Factory Singleton
- 12. Para un diccionario de Python, ¿iterkeys ofrece alguna ventaja sobre las teclas de acceso?
- 13. Cómo convertir de varbinary a char/varchar en mysql
- 14. LINQ - Expresión fluida y de consulta: ¿hay alguna ventaja de una sobre otra?
- 15. ¿Cuándo tiene RAII una ventaja sobre GC?
- 16. MYSQL VARCHAR o CHAR para cadena de longitud fija
- 17. ¿Usos comunes para los indicadores?
- 18. ¿Hay alguna ventaja de usar C++/CLI sobre C++ estándar o C#?
- 19. ¿Hay alguna ventaja al usar AND y OR sobre && y || en PHP?
- 20. ¿Hay alguna ventaja al usar bloques sobre funciones en Objective-C?
- 21. Explorando los usos de subs anónimos
- 22. Diferencia entre varchar (5) y varchar (5000)?
- 23. ¿Tiene algún sentido usar CHAR si tiene un VARCHAR en la misma tabla?
- 24. Ventaja de usar "x * = -1". sobre "x * = -1"?
- 25. Cualquier ventaja para los objetos. ¿Obtiene Objeto (i) sobre los objetos [i]?
- 26. Rendimiento de rendimiento dentro de los usos
- 27. varchar (20) y varchar (50) son iguales?
- 28. ¿Alguna ventaja al usar Liquibase para migraciones de bases de datos?
- 29. ¿Cuál es la ventaja de UnityContainer.Resolve sobre Activator.CreateInstance?
- 30. Ventaja de macro sobre la línea en C++
http://stackoverflow.com/questions/59667/why-would-i-ever-pick-char-over-varchar-in-sql –
http://stackoverflow.com/questions/350195/char-vs -varchar-for-performance-in-stock-database –
ops, perdón por la pregunta duplicada. Tengo la respuesta. Gracias por el enlace. – zac1987