Câu hỏi tương tự đã được hỏi trên Diễn đàn MSDN:
- Varchar (tối đa) so với Varchar (255)
Từ bài đăng gốc (nhiều thông tin hơn ở đó):
Khi bạn lưu trữ dữ liệu vào cột VARCHAR (N), các giá trị được lưu trữ vật lý theo cùng một cách. Nhưng khi bạn lưu trữ nó vào một cột VARCHAR (MAX), phía sau màn hình, dữ liệu được xử lý dưới dạng giá trị TEXT. Vì vậy, cần có một số xử lý bổ sung khi xử lý giá trị VARCHAR (MAX). (chỉ khi kích thước vượt quá 8000)
VARCHAR (MAX) hoặc NVARCHAR (MAX) được coi là 'loại giá trị lớn'. Các loại giá trị lớn thường được lưu trữ 'ngoài hàng'. Có nghĩa là hàng dữ liệu sẽ có một con trỏ đến một vị trí khác nơi lưu trữ 'giá trị lớn' ...