[sql] 항상 nvarchar (MAX)를 사용하는 데 단점이 있습니까?

2022. 6. 30. 13:54젬스it

반응형

[sql] 항상 nvarchar (MAX)를 사용하는 데 단점이 있습니까?

SQL Server 2005에서 nvarchar (255)와 같이 길이를 명시 적으로 지정하지 않고 모든 문자 필드를 nvarchar (MAX)로 만드는 데 단점이 있습니까? (데이터베이스 수준에서 필드 길이를 제한 할 수 없다는 것은 분명합니다)

답변

MSDN 포럼에서도 동일한 질문이 제기되었습니다.

바 차르 (max) vs 바 차르 (255)
원래 게시물에서 (더 많은 정보가 있습니다) :

VARCHAR (N) 열에 데이터를 저장할 때 값은 실제로 동일한 방식으로 저장됩니다. 그러나 VARCHAR (MAX) 열에 저장하면 화면 뒤에서 데이터가 TEXT 값으로 처리됩니다. 따라서 VARCHAR (MAX) 값을 처리 할 때 몇 가지 추가 처리가 필요합니다. (크기가 8000을 초과하는 경우에만)

VARCHAR (MAX) 또는 NVARCHAR (MAX)는 ‘큰 값 유형’으로 간주됩니다. 큰 값 유형은 일반적으로 ‘out of row’로 저장됩니다. 데이터 행에 ‘큰 값’이 저장된 다른 위치에 대한 포인터가 있음을 의미합니다 …
답변

그것은 공정한 질문이며 명백한 것과는 별개로 진술했습니다…

단점은 다음과 같습니다.

성능 영향 쿼리 최적화 프로그램은 필드 크기를 사용하여 가장 효율적인 실행 계획을 결정합니다.

“1. 데이터베이스의 확장 영역과 페이지의 공간 할당이 유연합니다. 따라서 업데이트를 사용하여 필드에 정보를 추가 할 때 새 데이터가 이전에 삽입 된 것보다 길면 데이터베이스가 포인터를 작성해야합니다.이 데이터베이스 파일은 인덱스에서 삭제, 업데이트 및 삽입에 이르기까지 거의 모든 부분에서 성능이 저하됨 = ”
http://sqlblogcasts.com/blogs/simons/archive/2006/02/28/Why-use-anything-but-varchar_2800_max_2900_.aspx


통합 시사점-다른 시스템이 데이터베이스와 통합하는 방법을 알기 어렵다 예상치 못한 데이터 증가 가능한 보안 문제 (예 : 모든 디스크 공간을 차지하여 시스템 충돌)

여기에 좋은 기사가 있습니다 :
http://searchsqlserver.techtarget.com/tip/1,289483,sid87_gci1098157,00.html

반응형

'젬스it' 카테고리의 다른 글

SSL 인증서 변환 가이드  (0) 2022.09.07
vbCr과 vbcrLf와 chr(13) 의 차이점  (0) 2022.08.25
Gap분석이란  (1) 2022.06.29
jeus 버전별 jdk 확인  (0) 2022.06.29
netstate  (0) 2022.03.10