Muchas de mis bases de datos tienen campos definidos como varchars. Esto no ha sido un gran problema desde que vivo y trabajo en Estados Unidos (donde el único idioma que existe es "americano". Ejem )
Después de trabajar con bases de datos durante aproximadamente 5 años, descubrí que eventualmente me encuentro con problemas con la naturaleza limitada del campo varchar y tengo que modificar mis campos para almacenar datos como nvarchars. Después de tener que realizar otra actualización en una tabla, convirtiendo un campo varchar en un nvarchar, simplemente pensé: ¿por qué seguimos haciéndolo de esta manera? Hace mucho tiempo que tomé la decisión mental de definir todos mis nuevos campos de texto a nvarchar, en lugar de varchar, que es lo que aprendí de mis libros de texto cuando estaba en la escuela hace 10 años.
Es 2011 y hubo una nueva versión de SQL Server el año pasado. ¿Por qué seguimos admitiendo un tipo de datos varchar cuando podemos / deberíamos usar nvarchar?
Sé que a menudo se argumenta que los nvarchars son "dos veces más grandes" que los varchars, por lo que el uso del espacio de almacenamiento podría ser un argumento para mantener los varcars.
Sin embargo, los usuarios de hoy podrían definir sus nvarchars para almacenar los datos como UTF-8 en lugar del UTF-16 predeterminado si quieren ahorrar espacio de almacenamiento. Esto permitiría la codificación de 8 bits si eso es principalmente deseable, al tiempo que garantiza que el carácter raro de 2-8 bytes que se inserta en su base de datos no rompería nada.
¿Me estoy perdiendo de algo? ¿Hay una buena razón por la cual esto no ha cambiado en los últimos 15-20 años?