2010-06-02 37 views
6

Chúng tôi có một vài bảng trong cơ sở dữ liệu SQL Server (2005 & 2008) với các cột được định nghĩa là nvarchar (4000). Đôi khi, chúng tôi cần có khả năng lưu trữ nhiều dữ liệu hơn và xem xét sử dụng nvarchar (tối đa) thay thế. Bây giờ cho các câu hỏi.Chuyển đổi nvarchar (4000) thành nvarchar (tối đa)

  1. Có bất kỳ tác động hiệu suất nào mà chúng ta nên biết không?
  2. Có an toàn khi sử dụng "thay đổi bảng" để thực hiện việc di chuyển thực tế hay có cách nào khác không?
  3. Bất kỳ điều gì khác chúng ta nên biết trước khi chuyển đổi?

Trân Johan

Trả lời

8

Chúng tôi đã phải làm điều này cũng trong một vài điểm

  1. Chúng tôi không thấy bất kỳ hit hiệu suất, được nó 5 tuần kể từ khi sự thay đổi
  2. 'Bàn thay đổi' miễn là bàn không được ghi vào trong quá trình chuyển đổi
  3. Đảm bảo có bản sao lưu chỉ trong trường hợp và tùy thuộc vào lượng dữ liệu trong bảng có thể mất hile
+5

Điều kiện về điểm thứ hai của bạn đáng để lặp lại - thường mất kế hoạch để đạt được trạng thái đó. –

1

Nếu văn bản không vừa trên trang có phần còn lại của dữ liệu, văn bản sẽ được lưu trữ trong một trang khác. Điều này gây ra một trang cơ sở dữ liệu bổ sung đọc. Vì vậy, hiệu suất có thể/sẽ chậm hơn. Trên các hệ thống có tải nặng và thời gian phản hồi rất hạn chế, có thể.

Phòng quản lý máy chủ SQL có thể sẽ đổi tên bảng hiện tại, tạo một bảng mới với bố cục mới, sao chép dữ liệu, xóa bảng cũ. Điều này có thể chậm.

Tôi không biết liệu bảng thay đổi có hoạt động hay không.

Các vấn đề liên quan