Pembatasan yang sama sekali tidak berguna sejauh yang saya bisa lihat. Dengan asumsi FixedVar
standar format (berlawanan dengan format yang digunakan dengan kompresi baris/halaman atau kolom jarang) dan dengan asumsi Anda berbicara tentang varchar(1-8000)
kolom
Semua varchar
data disimpan di akhir baris di bagian panjang variabel (atau di halaman offrow jika tidak muat di baris). Jumlah ruang yang dikonsumsi di bagian itu (dan apakah itu berakhir di luar baris atau tidak) sepenuhnya bergantung pada panjang data aktual, bukan deklarasi kolom.
SQL Server akan menggunakan panjang yang dideklarasikan dalam deklarasi kolom saat mengalokasikan memori (misalnya untuk sort
operasi). Asumsi yang dibuat dalam contoh itu adalah bahwa varchar
kolom akan diisi ke 50% dari ukuran yang dinyatakan rata-rata
jadi ini mungkin hal yang lebih baik untuk dilihat saat memilih ukuran.