Jawaban saya untuk ini, bukan tentang penggunaan Max, melainkan tentang alasan VARCHAR(max) vs TEXT.
Dalam buku saya; pertama-tama, Kecuali Anda benar-benar yakin bahwa Anda tidak akan pernah menyandikan apa pun kecuali teks bahasa Inggris dan orang-orang tidak akan merujuk ke nama lokasi asing, maka Anda harus menggunakan NVARCHAR atau NTEXT.
Kedua, itulah yang memungkinkan Anda untuk dilakukan oleh bidang.
TEXT sulit untuk diperbarui dibandingkan dengan VARCHAR, tetapi Anda mendapatkan keuntungan dari Pengindeksan Teks Lengkap dan banyak hal pintar.
Di sisi lain, VARCHAR(MAX) memiliki beberapa ambiguitas, jika ukuran sel <8000 karakter, itu akan diperlakukan sebagai data Baris. Jika lebih besar, itu akan diperlakukan sebagai LOB untuk tujuan penyimpanan. Karena Anda tidak dapat mengetahuinya tanpa menanyakan RBAR, ini mungkin memiliki strategi pengoptimalan untuk tempat-tempat di mana Anda perlu yakin tentang data Anda dan berapa biaya membacanya.
Jika tidak, jika penggunaan Anda relatif biasa dan Anda tidak berharap memiliki masalah dengan ukuran data (IE Anda menggunakan .Net dan karena itu tidak perlu khawatir tentang ukuran objek string/char* Anda) maka menggunakan VARCHAR(max) tidak masalah.