Meines Wissens braucht ein Index auf so ein Feld für jeden Eintrag die maximale definierte Länge, auch wenn der eigentliche Eintrag viel kleiner ist.
Diesen Satz versteh ich nicht.
Ich habe mal wo aufgeschnappt (allerdings weiß ich nicht mehr für welche DB) dass es so läuft:
Bei einem nvarchar(50) Feld und 3o Datenzeilen werden für den Index 30 x 50 Zeichen benötigt, auch wenn die Felder alle leer sind. Wahrscheinlich wird da für den Index mit festen Feldlängen / Offsets gearbeitet.
Von daher wäre es schlecht, einem Feld mal eben 500 Zeichen zu geben weils ja eh nichts kostet und dann darauf einen Index zu setzen, wenn auch 50 Zeichen genügen müssten.
Es ist auch nicht in jedem Fall erforderlich, dass der Index über das gesamte Feld geht.
Sofern man weiß wie es geht :-)
Wieder was gelernt!