Char vs Varchar
Char y Varchar son tipos de datos de caracteres de uso común en el sistema de base de datos que se ven similares, aunque existen diferencias entre ellos cuando se trata de requisitos de almacenamiento. En el diseño de bases de datos, se utilizan muchos tipos de datos. De ellos, los tipos de datos de caracteres ocupan un lugar más destacado, ya que se utilizan para almacenar mucha información en comparación con los números. Los tipos de datos de caracteres se utilizan para almacenar caracteres o datos alfanuméricos en cadenas. El tipo de juego de caracteres de la base de datos se define al crear la base de datos. Nuevamente, de estos tipos de datos de caracteres, Char y Varchar son los que se usan comúnmente. Este artículo explica cuáles son estos dos tipos de datos, char y varchar, y la diferencia entre ellos.
¿Qué es Char?
La definición ISO de char es un carácter y el tipo de datos char se utiliza para almacenar un carácter. Char (n) puede almacenar n tamaños fijos de caracteres. El número máximo de caracteres que puede contener un char (n) es 255 caracteres y la longitud de una cadena debe ser un valor de 1 a 8000. Char es un cincuenta por ciento más rápido que varchar y, por lo tanto, podemos obtener un mejor rendimiento cuando trabajamos con carbonizarse. Char utiliza la asignación de memoria estática al almacenar datos. Cuando queremos almacenar cadenas con una longitud fija conocida, es mejor usar el char. Como ejemplo, al almacenar 'Sí' y 'No' como 'Y' y 'N', podemos usar el tipo de datos char. Y también cuando almacenamos el número de cédula de identidad nacional de una persona con diez caracteres, podemos usar el tipo de datos como char (10).
¿Qué es Varchar?
Como sugiere el nombre, varchar se llama carácter variable. Varchar se utiliza para almacenar datos alfanuméricos que tienen longitudes variables. El número máximo de caracteres que puede contener este tipo de datos es 4000 caracteres y el tamaño máximo de almacenamiento es 2 GB. El tamaño de almacenamiento de varchar es la longitud real de los datos más dos bytes. Varchar es más lento que char y utiliza la asignación de memoria dinámica al almacenar datos. Podemos usar varchar al almacenar datos como nombres, direcciones, descripciones, etc. No solo cadenas, sino también tipos que no son cadenas como tipos de fecha, "12 de marzo de 2015", "2015-03-12" también se pueden almacenar en el tipo de datos varchar.
¿Cuál es la diferencia entre Char y Varchar?
• Aunque char y varchar son campos de datos de caracteres, char es un campo de datos de longitud fija y varchar es un campo de datos de tamaño variable.
• Char puede almacenar solo caracteres de cadena no Unicode de tamaño fijo, pero varchar puede almacenar tamaños variables de cadenas.
• Char es mejor que varchar para datos que cambian con frecuencia. Esto se debe a que la fila de datos de longitud fija no es propensa a la fragmentación.
• Char ocupará solo el espacio fijo que se define al declarar la variable. Pero varchar ocupará el espacio en función de los datos que se inserten y también ocupará 1 o 2 bytes como prefijo de longitud.
• Si los datos tienen menos de 255 caracteres, se asigna 1 byte y si los datos tienen más de 255 caracteres se reservan 2 bytes. Si usamos un char para almacenar un indicador de 'Y' y 'N', usará un byte para almacenar, pero cuando usamos varchar, se necesitarán dos bytes para almacenar el indicador, incluido un byte adicional como prefijo de longitud.
Resumen:
Char vs Varchar
Char y varchar son los tipos de datos de caracteres más utilizados disponibles en las bases de datos. Char se usa para almacenar una cadena con una longitud fija, mientras que varchar se usa para almacenar cadenas que tienen una longitud variable. Para obtener un mejor rendimiento de los datos, es más importante elegir los tipos de datos correctos para los campos de las tablas en su base de datos. Es más conveniente utilizar los tipos de datos más pequeños que pueden almacenar correctamente los datos, porque ocupan menos espacio de la memoria.
Imágenes cortesía: Varchar a través de Wikicommons (dominio público)