15 Mayıs 2009 Cuma

NVARCHAR ve VARCHAR veri tipleri arasındaki farklar

NVARCHAR ve VARCHAR çok fazla kullandığımız veri tipleri arasında, fakat geçenlerde bir sohbet sırasında iki veri tipi arasındaki farkları tam olarak bilmediğimi/yanlış bildiğimi farkettim ve hemen araştırdım.
Sonuç olarak iki veri tipi arasındaki tek fark veriyi saklama biçimleri olarak görünüyor, NVARCHAR tipinde multilingual/çokludil olarak UNICODE verileri tutmak mümkün olurken VARCHAR tipinde ise UNICODE olmayan ASCII karakterler tutuluyor.
Faydası ve zararları nelerdir? NVARCHAR tipinde her bir karakter 16bit (2 BYTE) yer kaplarken fakat UNICODE özelliği sayesinde multilingual bir veri tipi sunarken, VARCHAR tipinde her karakter 8 bit (1 BYTE) yer kaplıyor ve multilingual bir veri tipi sunmuyor.
Yani kullanacağınız verinin içeriğine göre veya bellekten tahammül edilebilecek kullanıma göre veri tipini belirlemek size kalıyor.

Bu araştırma kapsamında okuduğum eğlenceli yorumu da sizinle paylaşmak istiyorum.

Jeffrey L Whitledge'in Yorumu
An nvarchar column can store any Unicode data. A varchar column is restricted to an 8-bit codepage. Some people think that varchar should be used because it takes up less space. I believe this is not the correct answer. Codepage incompatabilities are a pain, and Unicode is the cure for codepage problems. With cheap disk and memory nowadays, there is really no reason to waste time mucking around with code pages anymore.
Restricting yourself to an 8-bit codepage is a very backward-thinking way to do data storage. This is the 21st century, people! Unicode is here, and it is the future. Let's abandon all that old 8-bit junk, it has no place in any new system.
OK, I feel better now. You may now go about your business. Thank you.

1 yorum:

  1. teşekkürler kısa öz bilgi. Bende kullanıyorum tam emin olmak için bakayım dedim senden faydalandım.

    YanıtlaSil

Popüler Yayınlar