nvarchar(max) and varchar(max)

by mitkoka 14. Юни 2009 13:27

Има разлика между VARCHAR(1-8000) и VARCHAR(MAX).

 Когато в дадена колона се записват данни от тип  VARCHAR(1-8000) те се записват физически точно по този начин в съответния ред. Но когато колоната съдържа данни от тип VARCHAR(MAX) задкулистно данните се записват като данни от тип TEXT. Ето защо има допълнитна работа когато използваме VARCHAR(MAX) и такъв тип колна трябва да се използва само когато знаем, че данните ще превишат 8000.

VARCHAR(MAX) и NVARCHAR(MAX) не държат данните си в самия ред, а на друго място. В реда има единствено указател към това място. Дефоутно сървърът ще опита да задържи данните в реда, но ако става въпрос за голямо количество ще ги постави на друго място. Това поставяне на данни на място различно от текущия ред ще доведе до допълнителна работа на сървъра и съответно до леко забавяне. Още по темата:http://msdn2.microsoft.com/en-us/library/ms189087.aspx

Коментари

Добави коментар


(Показва вашата Gravatar икона)  

  Country flag

biuquote
  • Коментар
  • Актуален изглед
Loading