XML’i XML mi tutmalı nvarchar(max) mı?


SQL 2008 için konuşuyorum. Diyelim ki XML veri tutmanız gerekiyor. Acaba bunu veritipi XML olan bir kolonda tutmakla nvarchar(max) olan bir kolonda tutmak arasında depolama alanı açısından bir fark var mıdır?

Vardır. Hem de esaslı bir fark vardır.

XML dokümanları çoğu zaman etiket yoğunluğu fazla dokümanlardır. Pek çok uzun etiket, pek kere tekrar eder doküman içinde. Eğer nvarchar(max) olarak tutarsanız, bu tekrarlar önemli bir depolama alanına mal olur. Ama XML tipinde tutarsanız işler biraz değişir. Çünkü XML tipi veriyi gereksiz tekrarlardan soyduktan sonra arka planda varbinary olarak tutar. Yani tekrar eden etiketleri aradan çıkarır, dokümanı sıkıştırır…

Ortalama bir XML dokümanında, XML tipi kullanmak varchar(max) kullanmaya göre yüzde 70’lere varan veri büyüklüğü tasarrufu sağlayabilir.

Bu yazı SQL Server 2008 içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

1 Response to XML’i XML mi tutmalı nvarchar(max) mı?

  1. Anonymous dedi ki:

    Teşekkürler. Ayrıca şuda bilinmeli,Xml'i xml tipli sütunda tutmanın daha sonra, o sütunda element ve attribute lara index tanımlama, sorgulama yapma vb. bir çok xml fonksiyonunu kullanabilme avantajlarını da bize sağlar. -MY-

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s