- Използвайте varchar, когато размерите на въведените данни в колоната варират значително.
- Използвайте varchar(max), когато размерите на записите с данни в колоната варират значително и размерът може да надвишава 8000 байта.
Когато дължината е указана при декларирането на VARCHAR
променлива или колона, максималната разрешена дължина е 8000 . Ако дължината е по-голяма от8000 , трябва да използвате MAX
спецификатор като дължина. Ако дължината е по-голяма от 8000 е посочено, ще бъде открита следната грешка (ако приемем, че указаната дължина е 10000 ):
АКТУАЛИЗАЦИЯ:-Намерих връзка, която бих искал да споделя:-
Няма голяма разлика в производителността между Varchar[(n)]
и Varchar(Max)
. Varchar[(n)]
предоставя по-добри резултати в сравнение с Varchar(Max)
. Ако знаем, че данните, които трябва да се съхраняват в колоната или променливата, са по-малки или равни на 8000 знака, тогава използването на този тип данни Varchar[(n)] осигурява по-добра производителност в сравнение с Varchar(Max). Пример:Когато изпълних следното скрипт чрез промяна на променливата @FirstName
въведете Varchar(Max)
след това за 1 милион присвоявания последователно отнема двойно време, отколкото когато използвахме тип данни като
Varchar(50) for variable @ FirstName.
DECLARE @FirstName VARCHAR(50), @COUNT INT=0, @StartTime DATETIME = GETDATE()
WHILE(@COUNT < 1000000)
BEGIN
SELECT @FirstName = 'Suraj', @COUNT = @COUNT +1
END
SELECT DATEDIFF(ms,@StartTime,GETDATE()) 'Time Taken in ms'
GO