Varchar vs Nvarchar
Varchar, Değişken Karakter Alanı için kısa bir addır. Karakterler belirsiz uzunluktaki verileri temsil eder. Varchar gerçek anlamda veritabanı yönetim sistemlerinde bulunan bir veri sütunu türüdür. Varchar sütunlarının alan boyutu, dikkate alınan veritabanına bağlı olarak değişebilir.
Oracle 9i'de alanın maksimum 4000 karakter sınırı vardır. MySQL bir satır için 65.535 veri sınırına sahiptir ve Microsoft SQL Server 2005, 8000 alan sınırı ile birlikte gelir. Bu rakam, Microsoft SQL sunucusunda Varchar (max) kullanıldığında 2 gigabayta yükselir. Diğer yandan Nvarchar, herhangi bir uzunluktaki Unicode verisini depolayabilen bir sütundur. Nvarchar'ın uyması gereken kod sayfası 8 bit kodlamadır. Varchar için maksimum boyut 8000, NVarchar için maksimum boyut 4000'dir. Bu aslında bir Varchar sütununun maksimum 8000 karakter olabileceği ve tek bir Nvarchar sütununun en fazla 4000 karakter olabileceği anlamına gelir. Sütun değerlerini aşmak büyük bir sorun haline gelir ve hatta satırlar SQL Server 2005 dışında birden çok sayfaya yayılamadığı için ciddi sorunlara neden olabilir ve sınırlamalara uyulmalıdır, aksi takdirde hatalar veya kesme işlemi gerçekleşir…
Varchar ve Nvarchar arasındaki ana farklardan biri Varchar'da daha az alan kullanılmasıdır. Bunun nedeni, Nvarchar'ın özellikleri kodlama zorluğu nedeniyle daha fazla yer kaplayan Unicode kullanmasıdır. Depolanan her karakter için Unicode iki bayt veri gerektirir ve bu, Varchar'ın kullandığı Unicode olmayan verilere kıyasla veri değerinin daha yüksek görünmesine neden olabilir. Öte yandan Varchar, depolanan her karakter için yalnızca bir bayt veri gerektirir. Bununla birlikte, daha da önemlisi, Unicode kullanımı daha fazla yer kaplamasına rağmen, manuel olarak çözülmesi acı veren kod sayfası uyumsuzluklarından kaynaklanan sorunları çözer.
Bu nedenle, boşluk özelliği, ortaya çıkan uyumsuzlukları düzeltmek için Unicode'un daha kısa sürede tercih edilmeyebilir. Ayrıca, disklerin ve belleğin maliyeti de oldukça uygun hale geldi ve alan özelliğinin sıklıkla göz ardı edilebildiğinden emin olurken, Varchar ile ortaya çıkan sorunları çözmek için daha uzun süre bu kadar kolay göz ardı edilemez..
Tüm geliştirme platformları, Unicode'un çalışmasına izin vererek modern işletim sistemlerini dahili olarak kullanır. Bu, Nvarchar'ın Varchar'dan daha sık kullanıldığı anlamına gelir. Kodlama dönüşümlerinden kaçınılır ve veritabanına okuma ve yazma süresi kısalır. Bu aynı zamanda hataları önemli ölçüde azaltır, ortaya çıkan dönüşüm hatalarının kurtarılması basit bir sorun haline gelir.
Unicode kullanmanın yararı, veritabanı, özellikle İşletim sistemi ve veritabanı koalisyon algoritmaları gibi iyi yanıt verdiği için ASCII uygulama arabirimlerini kullanan kişiler için de geçerlidir. Unicode verileri dönüştürmeyle ilgili sorunları önler ve 7 bitlik ASCII ile sınırlıysa, eski sistemden bağımsız olarak bakılması gereken veriler her zaman doğrulanabilir.
özet
Varchar ve Nvarchar farklı karakter tiplerine sahiptir. Varchar Unicode olmayan verileri kullanırken Nvarchar Unicode verilerini kullanır.
Hem Varchar hem de Nvarchar, uyulması gereken çeşitli veri türlerine sahiptir. Varchar, verileri yalnızca 1 baytlık sırada ve Nvarchar verileri her karakter için 2 baytta kaydeder
Maksimum uzunluk da değişir. Varchar uzunluğu 8000 bayt ile sınırlıdır ve 4000 bayt Nvarchar için sınırdır.
Bunun nedeni, Varchar'daki depolama boyutunun Nvarchar tarafından kullanılan Unicode verilerinin aksine daha basit olmasıdır.