Veri tabanlarımın çoğunda varchars olarak tanımlanan alanlar var. Amerika'da yaşadığım ve çalıştığım için bu çok problem olmamıştı (var olan tek dilin "Amerikan" olduğu. Ahem )
Yaklaşık 5 yıl veritabanları ile çalıştıktan sonra, nihayetinde varchar alanının sınırlı doğası ile ilgili problemler yaşadığımı ve verileri nvarchar olarak depolamak için alanlarımı değiştirmek zorunda kaldığımı gördüm. Bir tabloya başka bir güncelleme yapmak zorunda kaldıktan sonra, bir varchar alanını nvarchar'a dönüştürmekle ilgili düşündüm, neden hala bu şekilde yapıyoruz? O zamandan beri, ders kitaplarımın hepsini 10 yıl önce okuldayken yaptığım ders kitaplarından varchar yerine nvarchar yerine nvarchar olarak tanımlamaya karar verdim.
2011 ve geçtiğimiz yıl SQL Server'ın yeni bir sürümü oldu. Nvarchar kullanıyorken / kullanmamız gerektiğinde neden bir varchar veri tipini desteklemeye devam ediyoruz?
Sıklıkla nvarcharların varcharlardan "iki kat daha büyük" olduğunu savunduğunu biliyorum, bu nedenle depolama alanı kullanımı varkarları kısmak için tek bir tartışma olabilir.
Ancak, bugünün kullanıcıları, depolama alanından tasarruf etmek istiyorlarsa, verileri varsayılan UTF-16 yerine UTF-8 olarak depolamak için nvarchar'larını tanımlayabilirler. Bu, öncelikli olarak istenirse 8 bitlik kodlamaya izin verirken, DB'lerine eklenen nadir 2-8 baytlık karakterin hiçbir şeyi bozmayacağına dair güvence verir.
Bir şey mi eksik? Bunun son 15-20 yılda değişmemesinin iyi bir nedeni var mı?