웹을 검색하면서 지나치게 넓은 VARCHAR 열을 지정할 때 성능에 영향을 미치는지에 대한 충고를 발견했습니다. 예를 들어 VARCHAR (30)은 아마도 VARCHAR (255)입니다.
전체 행이 8060 바이트를 초과하면 성능이 저하된다는 데 동의합니다. 그 외에는 의견 불일치가 있습니다.
그 주장이 사실 The default is SET ANSI PADDING ON = potential for lots of trailing spaces
입니까? 총 행 너비가 8060보다 작 으면 VARCHAR 열 크기를 초과 할 때 실제 성능 문제가 있습니까?
열 너비가 중요하다는 증거
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
열 너비가 중요하지 않다는 증거
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
로부터non max
). 오버 헤드가 더 높은 반대 방향입니다.