Beim Durchsuchen des Webs habe ich widersprüchliche Hinweise gefunden, ob bei der Angabe zu breiter VARCHAR-Spalten Leistungseinbußen auftreten, z. B. bei VARCHAR (255), bei VARCHAR (30) wahrscheinlich.
Ich sehe durchweg Übereinstimmung, dass es einen Leistungseinbruch gibt, wenn die gesamte Zeile 8060 Bytes überschreitet. Ansonsten sehe ich Uneinigkeit.
Ist die Behauptung wahr The default is SET ANSI PADDING ON = potential for lots of trailing spaces
? Gibt es bei einer Gesamtzeilenbreite von weniger als 8060 echte Leistungsprobleme beim Überdimensionieren von VARCHAR-Spalten?
Beweis, dass Spaltenbreite wichtig ist
The same goes for CHAR and VARCHAR data types. Don’t specify more characters in character columns that you need.
http://www.sql-server-performance.com/2007/datatypes/
Length is a constraint on the data (like CHECK, FK, NULL etc)
Performance when the row exceeds 8060 bytes
Can not have unique constraint or index (key column width must be < 900)
The default is SET ANSI PADDING ON = potential for lots of trailing spaces
Welche Konsequenzen hat das Setzen von varchar (8000)?
Beweise, dass die Spaltenbreite keine Rolle spielt
If you're talking about varchar and nvarchar then no, there is no penalty for allowing a higher field length.
/programming/7025996/overstating-field-size-in-database-design
The varchar datatype, by contrast, consumes only the amount of
actual space used plus 2 bytes for overhead
http://sqlfool.com/content/PerformanceConsiderationsOfDataTypes.pdf
max
vonnon max
). Es ist die entgegengesetzte Richtung, die den höheren Overhead hat.