Jika Anda menyimpan xml dalam kolom yang diketik xml, data tidak akan disimpan sebagai teks sederhana, seperti dalam kasus nvarchar, itu akan disimpan dalam semacam pohon data yang diuraikan, yang pada gilirannya akan lebih kecil daripada versi xml yang tidak diuraikan. Ini tidak hanya mengurangi ukuran basis data, tetapi memberi Anda keuntungan lain, seperti validasi, manipulasi mudah, dll. (meskipun Anda tidak menggunakan salah satu dari ini, tetap saja, mereka ada untuk digunakan di masa mendatang).
Di sisi lain, server harus mengurai data saat penyisipan, yang mungkin akan memperlambat database Anda - Anda harus membuat keputusan tentang kecepatan vs. ukuran.
Sunting:
Secara pribadi, saya pikir data dalam database harus disimpan sebagai xml hanya ketika memiliki struktur yang sulit diterapkan dalam model relasional, mis. tata letak, deskripsi gaya, dll. Biasanya itu berarti bahwa tidak akan ada banyak data dan kecepatan tidak menjadi masalah, sehingga menambahkan fitur xml, seperti validasi data dan kemampuan manipulasi (juga, last but not least, kemampuan untuk mengklik nilai di studio manajemen dan lihat xml yang diformat - Saya sangat menyukai fitur itu!), melebihi biayanya.
Saya tidak memiliki pengalaman langsung dalam menyimpan sejumlah besar xml dalam database dan saya tidak akan melakukannya jika saya memiliki pilihan, karena hampir selalu lebih lambat daripada model relasional, tetapi jika itu masalahnya, saya' d merekomendasikan memprofilkan kedua opsi, dan memilih antara ukuran dan kecepatan yang paling sesuai dengan kebutuhan Anda.