Đây là tình trạng khó khăn của tôi.Có nhược điểm nào khi sử dụng VARCHAR (MAX) trong bảng?
Về cơ bản, tôi cần một cột trong bảng để lưu giữ độ dài không xác định của các ký tự. Nhưng tôi đã tò mò nếu trong các vấn đề hiệu suất của Sql Server có thể phát sinh bằng cách sử dụng VARCHAR (MAX) hoặc NVARCHAR (MAX) trong một cột, chẳng hạn như: 'Lần này' tôi chỉ cần lưu 3 ký tự và phần lớn thời gian tôi chỉ cần lưu trữ 10 ký tự. Nhưng có một cơ hội nhỏ có thể lên đến vài nghìn ký tự trong cột đó, hoặc thậm chí có thể là một triệu, Đó là điều không thể đoán trước. Nhưng, tôi có thể đảm bảo rằng nó sẽ không vượt quá giới hạn 2GB.
Tôi chỉ tò mò nếu có bất kỳ vấn đề về hiệu suất nào hoặc có thể là cách tốt hơn để giải quyết vấn đề này nếu có.
Trong khi hoàn toàn đúng, tôi sẽ tránh sử dụng tràn dài, kể từ khi Row-Overflow là tên loại trang cho varchar (n), trong khi varchar (max) đi đến loại trang 'Dữ liệu Lob' khi được xem bằng DBCC Ind. – Andrew