2010-06-02 3 views
6

우리는 SQL Server 2005 데이터베이스 (2005 & 2008)에 nvarchar (4000)로 정의 된 열이있는 몇 개의 테이블을 가지고 있습니다. 때로는 더 많은 데이터를 저장할 수 있어야하고 대신 nvarchar (max)를 사용하는 것이 좋습니다. 질문에.nvarchar (4000)를 nvarchar (max)로 변환

  1. 성능에 미치는 영향이 있습니까?
  2. "alter table"을 사용하여 실제 마이그레이션을 수행하는 것이 안전합니까 아니면 다른 방법입니까?
  3. 변환하기 전에 알아야 할 사항은 무엇입니까?

안부 요한

답변

8

우리는 변경 이후에 몇 점

  1. 우리는 어떤 성능 안타를 보지 않았다, 그 있었다 오주에서뿐만 아니라이 일을 했어
  2. '테이블 변경'은 변환 중에 테이블이 쓰여지지 않는 한 괜찮습니다.
  3. 테이블에있는 데이터 양에 따라 백업을해야합니다. hile
+5

두 번째 단계의 조건은 반복 할 가치가 있습니다. 종종 그 상태를 달성하기 위해 계획을 수립해야합니다. –

1

텍스트가 나머지 데이터와 함께 페이지에 맞지 않으면 텍스트가 다른 페이지에 저장됩니다. 이로 인해 여분의 데이터베이스 페이지가 읽혀집니다. 따라서 성능은 느려질 수 있습니다. 부하가 크고 응답 시간이 매우 제한적인 시스템에서 어쩌면.

SQL Server Management Studio는 현재 테이블의 이름을 바꾸거나 새 레이아웃으로 새 테이블을 만들고 데이터를 복사하고 이전 테이블을 제거합니다. 속도가 느려질 수 있습니다.

alter table이 작동하는지 모르겠습니다.