programing

nvarchar(최대)와 NText

cafebook 2023. 4. 8. 09:12
반응형

nvarchar(최대)와 NText

를 사용하는 장점과 단점은 무엇입니까?nvarchar(max)대.NTextSQL Server의 데이터 유형이전 버전과의 호환성은 필요 없기 때문에nvarchar(max)는 이전 SQL Server 릴리스에서는 지원되지 않습니다.

편집: 이 질문은 다음에도 해당된다고 합니다.TEXT그리고.IMAGE대.varchar(max)그리고.varbinary(max)를 참조하십시오.

장점은 다음과 같은 기능을 사용할 수 있다는 것입니다.LEN그리고.LEFTnvarchar(max)그리고 당신은 그것을 할 수 없습니다ntext그리고.text또, 조작도 간단합니다.nvarchar(max)보다text사용할 필요가 있는 장소WRITETEXT그리고.UPDATETEXT.

또한.text,ntext, 등은 폐지되고 있습니다(http://msdn.microsoft.com/en-us/library/ms187993.aspx)).

ntext는 항상 다른 데이터베이스 페이지에 데이터를 저장합니다.nvarchar(max)는 데이터베이스 레코드 자체에 데이터를 저장하려고 합니다.

그렇게nvarchar(max)는 다소 고속입니다(텍스트가 8kB보다 작은 경우).데이터베이스 사이즈가 약간 느리다는 것도 알게 되었습니다.이것도 좋습니다.

가세요nvarchar(max).

VARCHAR(MAX)수용하기에 충분한 크기이다TEXT들판.TEXT,NTEXT그리고.IMAGESQL Server 2000의 데이터 타입은 향후 SQL Server 버전에서 폐지될 예정입니다.SQL Server 2005는 데이터 타입에 대한 하위 호환성을 제공하지만 다음과 같은 새로운 데이터 타입을 사용하는 것이 좋습니다.VARCHAR(MAX),NVARCHAR(MAX)그리고.VARBINARY(MAX).

nvarchar(max)사용하고 싶은 것입니다.가장 큰 장점은 이 데이터 유형에서 모든 T-SQL 문자열 함수를 사용할 수 있다는 것입니다.에서는 이 작업을 수행할 수 없습니다.ntext. 나는 어떠한 실질적인 단점도 알지 못한다.

변환에 대한 제 경험을 더하고 싶었습니다.나는 많이 먹었다text고대 Linq2SQL 코드의 필드.이 때문에text온라인으로 재구성할 인덱스에 열이 있습니다.

처음에는 이점에 대해 몇 년 전부터 알고 있었습니다만, 변환하면 SQL Server가 테이블을 재구축하고 모든 것을 복사하여 웹 사이트를 다운시키고 심박수를 높일 수 있는 매우 긴 쿼리를 항상 상정하고 있었습니다.

또한 Linq2SQL이 컬럼 타입을 검증할 경우 오류가 발생할 수 있다는 우려도 있었습니다.

단, ALTER 명령어는 즉시 반환되므로 테이블 메타데이터만 변경할 수 있습니다.8000자 미만의 데이터를 테이블로 되돌리는 오프라인 작업이 발생할 수 있지만 ALTER 명령어는 즉시 실행되었습니다.

변환이 필요한 모든 열을 찾기 위해 다음을 실행했습니다.

SELECT concat('ALTER TABLE dbo.[', table_name, '] ALTER COLUMN [', column_name, '] VARCHAR(MAX)'), table_name, column_name
FROM information_schema.columns where data_type = 'TEXT' order by table_name, column_name

SELECT concat('ALTER TABLE dbo.[', table_name, '] ALTER COLUMN [', column_name, '] NVARCHAR(MAX)'), table_name, column_name
FROM information_schema.columns where data_type = 'NTEXT' order by table_name, column_name

이렇게 하면 쿼리 목록을 볼 수 있는데, 이 목록을 선택하여 새 창에 복사했습니다.말씀드렸듯이, 이것은 즉시 실행되었습니다.

여기에 이미지 설명 입력

Linq2SQL은 매우 오래된 것으로, 테이블을 드래그 하는 디자이너를 사용합니다.먼저 EF Code에 대해 상황이 더 복잡할 수 있지만 나는 아직 그것을 다루지 않았다.

경우에는 꼭 사용하셔야 할 것 같습니다.nvarchar(max):

MSDN

「 」의 가장 큰 Text 함께)NText ★★★★★★★★★★★★★★★★★」Image)는 설명서에서와 같이 향후 버전의 SQL Server에서 삭제될 예정입니다.그러면 해당 버전의 SQL Server가 출시될 때 스키마를 업그레이드하기가 사실상 어려워집니다.

사용할 수 있다는 것을 추가하고 싶습니다.부분 또는 전체 업데이트 및 고성능 추가에 대한 WRITE 조항varchar(max)/nvarchar(max)types.데이터 타입.

여기서 전체 사용 예를 찾을 수 있습니다..WRITE절을 클릭합니다.

언급URL : https://stackoverflow.com/questions/2133946/nvarcharmax-vs-ntext

반응형