- Varchar použijte, když se velikost záznamů dat sloupců výrazně liší.
- Použijte varchar(max), když se velikost záznamů dat sloupců výrazně liší a velikost může přesáhnout 8 000 bajtů.
Když je délka specifikována v deklaraci VARCHAR
proměnná nebo sloupec, maximální povolená délka je 8000 . Pokud je délka větší než 8000 , musíte použít MAX
specifikátor jako délka. Pokud je délka větší než 8000 je zadáno, dojde k následující chybě (za předpokladu, že zadaná délka je 10000 ):
AKTUALIZACE :-Našel jsem odkaz, o který bych se rád podělil:-
Mezi Varchar[(n)]
není velký rozdíl ve výkonu a Varchar(Max)
. Varchar[(n)]
poskytuje lepší výsledky výkonu ve srovnání s Varchar(Max)
. Pokud víme, že data, která mají být uložena ve sloupci nebo proměnné, jsou menší nebo rovna 8000 znakům, pak použití tohoto datového typu Varchar[(n)] poskytuje lepší výkon ve srovnání s Varchar(Max). Příklad:Když jsem spustil níže uvedené skript změnou proměnné @FirstName
zadejte do Varchar(Max)
pak to u 1 milionu přiřazení trvá dvojnásobek času, než když jsme použili datový typ jako
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