Varchar ve Nvarchar Arasındaki Farklar

Anonim

Varchar vs Nvarchar

Varchar, Değişken Karakter Alanı için kısa adıdır. Karakterler belirsiz uzunluktaki verileri temsil eder. Gerçek anlamda Varchar, 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şiklik gösterebilir.

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 sunucusu 2005, alan sınırı 8000 ile birlikte gelir. Bu şekil, Varchar (maks) kullanıldığında Microsoft SQL sunucusunda 2 gigabayta yükselebildi. Nvarchar, diğer taraftan, herhangi bir uzunlukta Unicode veriyi depolayabilen bir sütundur. Nvarchar'ın uyması gereken kod sayfası bir 8 bit kodlamadır. Varchar için maksimum boyut 8000 iken, NVarchar için maksimum boyut 4000'dir. Bu, Varchar'ın tek bir sütununun maksimum 8000 karakter olabileceği ve en fazla Nvarchar'ın tek bir sütunun en fazla 4000 karakter olabileceği anlamına gelir. Sütun değerlerini aşmak büyük bir sorun haline gelir ve satırlar SQL sunucusu 2005 dışında istendiği gibi birden fazla sayfaya yayamayacağı için ciddi sorunlara neden olabilir ve sınırlamalara uyulması gerekir veya hatalar veya kesmeler sonuçlanacaktır …

Varchar ve Nvarchar arasındaki en büyük farklardan biri Varchar'da daha az alan kullanılmasıdır. Bunun nedeni, Nvarchar'ın Unicode kullanmasıdır. Unicode, özellikleri kodlamanın zorluklarından dolayı daha fazla yer kaplar. Saklanan 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, saklanan her karakter için yalnızca bir bayt veri gerektirir. Bununla birlikte, daha önemlisi, Unicode kullanımı daha fazla yer kapsa da, elle çözülmesi gereken bir acı olan kod sayfası uyumsuzluklarıyla ortaya çıkan sorunları çözmektedir.

Böylece, uzay özelliği, Unicode'un ortaya çıkan uyuşmazlıkları düzeltme süresinin kısaltılacağı tercih edilmesine neden olabilir. Ayrıca, Varchar ile ortaya çıkan sorunların çözülmesi için daha uzun süre o kadar kolay bir şekilde atılamazsa, disklerin ve belleklerin maliyeti de oldukça uygun fiyatlı hale geldi ve alan özelliğinin sıklıkla göz ardı edilmesini sağladı.

Tüm geliştirme platformları dahili olarak, Unicode'un çalışmasına izin veren modern işletim sistemlerini kullanmaktadır. Bu, Nvarchar'ın Varchar'dan daha sık çalıştırıldığı anlamına gelir. Kodlama dönüşümleri engellenir, böylece veritabanına okuma ve yazma süreleri azaltılır. Bu ayrıca hataları önemli ölçüde azaltır; gerçekleşen dönüşüm hatalarının düzelmesi basit bir sorun haline gelir.

--3 ->

Unicode kullanmanın yararı, veritabanı, özellikle İşletim sistemi ve veritabanı koalisyonu algoritmaları gibi iyi yanıt verdiğinden, ASCII uygulama arabirimleri kullanan kişiler için de geçerlidir. Unicode veriler dönüşümle ilgili sorunları önler ve korunması gereken eski sistemden bağımsız olarak 7 bit ASCII ile kısıtlandıysa, veriler her zaman doğrulanabilir.

Özet

Varchar ve Nvarchar farklı karakter türleri ile gelir. Varchar, Nvarchar Unicode verileri kullanırken Unicode olmayan verileri kullanır.

Hem Varchar hem de Nvarchar'ın uyması gereken değişen veri türleri var. Varchar yalnızca verileri 1 baytlık bir sıraya kaydeder ve Nvarchar her karakter için 2 baytta veri 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 verileri yerine daha basit olmasıdır.