기술적으로만 본다면, 아래와 같이 max 타입은 데이터를 연속적인 메모리 영역에 저장 불가하므로 텍스트가 많은 데이터형인 게시판 데이터에는 적합하지 않을 수 있습니다.
하지만 요구사항에 따라 8000글자 이상의 텍스트 데이터가 들어올 수 있는 컬럼이기 때문에 나눠서 쓰기 보다는 아주 약간의 성능 저하가 있더라도 max 타입을 쓰는것을 권장 드리고 싶네요.
The code path that handles the MAX types (varchar, nvarchar and varbinary) is different from the code path that handles their equivalent non-max length types. The non-max types can internally be represented as an ordinary pointer-and-length structure. But the max types cannot be stored internally as a contiguous memory area, since they can possibly grow up to 2Gb. So they have to be represented by a streaming interface, similar to COM’s IStream. This carries over to every operation that involves the max types, including simple assignment and comparison, since these operations are more complicated over a streaming interface. The biggest impact is visible in the code that allocates and assign max-type variables (my first test), but the impact is visible on every operation.
기술적으로만 본다면, 아래와 같이 max 타입은 데이터를 연속적인 메모리 영역에 저장 불가하므로 텍스트가 많은 데이터형인 게시판 데이터에는 적합하지 않을 수 있습니다.
하지만 요구사항에 따라 8000글자 이상의 텍스트 데이터가 들어올 수 있는 컬럼이기 때문에 나눠서 쓰기 보다는 아주 약간의 성능 저하가 있더라도 max 타입을 쓰는것을 권장 드리고 싶네요.
The code path that handles the MAX types (varchar, nvarchar and varbinary) is different from the code path that handles their equivalent non-max length types. The non-max types can internally be represented as an ordinary pointer-and-length structure. But the max types cannot be stored internally as a contiguous memory area, since they can possibly grow up to 2Gb. So they have to be represented by a streaming interface, similar to COM’s IStream. This carries over to every operation that involves the max types, including simple assignment and comparison, since these operations are more complicated over a streaming interface. The biggest impact is visible in the code that allocates and assign max-type variables (my first test), but the impact is visible on every operation.
https://stackoverflow.com/a/8512232