İçerik
Asıl fark
Varchar ve nvarchar, SQL Server'daki bilgi çeşitleridir. Varchar ve narchar arasındaki baskın olan, narchar Unicode karakterleri depolamak için kullanılırken, varchar Unicode Olmayan karakterleri depolamak için kullanılır. Veri depolama varchar'da karakter başına 1 bayt iken, nvarchar'da bilgi depolama karakter başına 2 bayttır. Konu tanımında varchar 8000 karakter kadar yardımcı olurken, nvarchar 4000 karakter kadar yardımcı oluyor.
Varchar Nedir?
Varchar, değişken karakterleri ile ilgili AQL Sunucu bilgi türüdür. Unicode olmayan karakterler varchar kullanılarak kaydedilir. Varchar'daki bellek ayırma eklenen karakterlere göredir. Konu tanımında varchar, 8000 karakter kadar yardımcı olur.
Nvarchar Nedir?
Nvarchar, değişken karakterleri ile ilgili bir SQL Server bilgi türüdür. Unicode karakterler, nvarchar kullanılarak kaydedilir. Bilgi tabanına birden fazla dil kaydedilmesi olasıdır. Başka diller kullanılıyorsa, nvarchar genişletilmiş karakter kümesini saklamak için iki kez yer kaplar. Dosyalanmış tanımında nvarchar 4000 karaktere kadar yardımcı olur.
Anahtar Farklılıklar
- Narchar, Unicode karakterleri depolamak için kullanılırken, Varchar, Unicode karakterlerini satmaz.
- Varchar, Unicode olmayan karakterleri saklamak için kullanılırken, nvarchar, Unicode olmayan karakterleri satmaz.
- Veri depolama varchar'da karakter başına 1 bayt iken narchar bilgi depolamada karakter başına 1 bayt değildir.
- Nvarchar içindeki veri depolama karakter başına 2 bayttır; oysa varchar bilgi depolama alanında karakter başına 2 bayt değildir.
- Konu tanımında varchar 8000 karakter kadar yardımcı olurken, nvarchar 4000 karakter kadar yardımcı oluyor.
- Varchar'daki bellek tahsisi, girilen karakter sayısı artı ofset için iki ekstra bayt ile aynıdır, oysa nvarchar bellek tahsisi, eklenmiş karakter sayısı iki katı ve ofset için ekstra byte ile aynıdır.
- Sütun veya değişkende kaydedilecek Unicode karakterler de mevcutsa, o zaman varchar kullanıyoruz, diğer taraftan sütununda veya değişkeninde kaydedilecek Unicode olmayanlar varsa nvarchar kullanıyoruz.
- Değişken bildirimde veya sütun tanımında, zorunlu olmayan parametrenin valfi n açıkça belirtilmezse, varchar için 1 ve nvarchar için 2 olduğu düşünülür.