Om du garanterat har strängar mellan 1 och 50 tecken, kommer samma fråga som körs över strängar med upp till längd X att köras snabbare med varchar(X) jämfört med varchar(MAX). Dessutom kan du inte skapa ett index på ett varchar(MAX)-fält.
När dina rader har värden över 8000 tecken långa, finns det ytterligare prestandaöverväganden att kämpa med (raderna behandlas i princip som TEXT istället för varchar(n)). Även om detta inte är särskilt relevant som en jämförelse eftersom det inte finns något varchar(N)-alternativ för strängar med längd över 8000.