Tôi đã khai báo một cột kiểu NVARCHAR(MAX)
trong SQL Server 2008, ký tự tối đa chính xác của nó có MAX là gì?
Tôi đã khai báo một cột kiểu NVARCHAR(MAX)
trong SQL Server 2008, ký tự tối đa chính xác của nó có MAX là gì?
Câu trả lời:
Kích thước tối đa cho một cột loại NVARCHAR(MAX)
là 2 GByte lưu trữ.
Vì NVARCHAR
sử dụng 2 byte cho mỗi ký tự, đó là khoảng. 1 tỷ ký tự.
Chiến tranh và Hòa bình của Leo Tolstoj là một cuốn sách dài 440 trang, chứa khoảng 600'000 từ - có thể là 6 triệu ký tự - được làm tròn. Vì vậy, bạn có thể dán khoảng 166 bản sao của toàn bộ cuốn sách Chiến tranh và Hòa bình vào mỗi NVARCHAR(MAX)
cột.
Có đủ không gian cho nhu cầu của bạn? :-)
Theo mặc định, các giá trị nvarchar (MAX) được lưu trữ chính xác giống như các giá trị nvarchar (4000), trừ khi độ dài thực tế vượt quá 4000 ký tự; trong trường hợp đó, dữ liệu liên tiếp được thay thế bằng một con trỏ tới một hoặc nhiều trang riêng biệt nơi dữ liệu được lưu trữ.
Nếu bạn dự đoán dữ liệu có thể vượt quá 4000 ký tự, nvarchar (MAX) chắc chắn là lựa chọn được đề xuất.
nvarchar [(n | max )]
Dữ liệu chuỗi Unicode có độ dài thay đổi. n xác định độ dài chuỗi và có thể là giá trị từ 1 đến 4.000. max chỉ ra rằng kích thước lưu trữ tối đa là 2 ^ 31-1 byte (2 GB). Kích thước lưu trữ, tính bằng byte, gấp hai lần chiều dài thực của dữ liệu được nhập + 2 byte
Tôi nghĩ rằng thực sự nvarchar(MAX)
có thể lưu trữ khoảng 1070000000 chars.