Moje odpověď na to není o použití Max, ale o důvodu pro VARCHAR(max) vs TEXT.
V mé knize; za prvé, pokud si nejste absolutně jisti, že nikdy nezakódujete nic jiného než anglický text a lidé nebudou odkazovat na názvy cizích míst, měli byste použít NVARCHAR nebo NTEXT.
Za druhé, je to to, co vám pole umožňují.
TEXT je obtížné aktualizovat ve srovnání s VARCHAR, ale získáte výhodu Full Text Indexing a spoustu chytrých věcí.
Na druhou stranu má VARCHAR(MAX) určitou nejednoznačnost, pokud je velikost buňky <8000 znaků, bude s ní zacházeno jako s daty řádku. Pokud je větší, bude s ním zacházeno jako s LOB pro účely úložiště. Protože to nemůžete vědět bez dotazu RBAR, může to mít optimalizační strategie pro místa, kde si potřebujete být jisti svými daty a kolika čtení stojí.
V opačném případě, pokud je vaše používání relativně světské a neočekáváte, že budete mít problémy s velikostí dat (IE používáte .Net, a proto se nemusíte obávat velikosti vašich objektů typu string/char*) pak je použití VARCHAR(max) v pořádku.