Stejná otázka byla položena na fórech MSDN:
- Varchar(max) vs Varchar(255)
Z původního příspěvku (mnohem více informací zde):
Když ukládáte data do sloupce VARCHAR(N), hodnoty se fyzicky ukládají stejným způsobem. Ale když je uložíte do sloupce VARCHAR(MAX), za obrazovkou se s daty zachází jako s hodnotou TEXT. Při práci s hodnotou VARCHAR(MAX) je tedy potřeba nějaké další zpracování. (pouze pokud velikost přesahuje 8000)
VARCHAR(MAX) nebo NVARCHAR(MAX) se považuje za „typ s velkou hodnotou“. Typy velkých hodnot jsou obvykle uloženy „mimo řádek“. Znamená to, že datový řádek bude mít ukazatel na jiné místo, kde je uložena „velká hodnota“...