Mencari di web, saya telah menemukan saran yang bertentangan tentang apakah ada dampak kinerja ketika menentukan kolom VARCHAR yang terlalu lebar, misalnya VARCHAR (255) ketika VARCHAR (30) mungkin akan melakukannya.
Saya secara konsisten melihat kesepakatan bahwa ada hit kinerja jika seluruh baris melebihi 8.060 byte. Selain itu, saya melihat ketidaksepakatan.
Apakah klaim itu benar The default is SET ANSI PADDING ON = potential for lots of trailing spaces
? Selama total lebar baris kurang dari 8060, apakah ada kekhawatiran kinerja nyata dalam ukuran kolom VARCHAR yang terlalu besar?
Bukti bahwa lebar kolom penting
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
Apa konsekuensi dari pengaturan varchar (8000)?
Bukti bahwa lebar kolom TIDAK masalah
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
sumber
max
darinon max
). Arah sebaliknya yang memiliki overhead yang lebih tinggi.