thể trùng lặp:
is there an advantage to varchar(500) over varchar(8000)?Sự khác biệt giữa varchar (5) và varchar (5000)?
Trong SQL Server chúng ta có thể xác định loại lĩnh vực varchar(n)
:
kích thước lưu trữ là độ dài thực tế tính bằng byte của dữ liệu nhập vào, không phải n byte.
Thông thường khi lập kế hoạch một cấu trúc cơ sở dữ liệu tôi cố gắng tưởng tượng độ dài tối đa có thể của chuỗi đó sẽ được lưu trữ trong các varchar
lĩnh vực và sau đó thiết lập kích thước tưởng tượng + một số sao lưu cho trường varchar
. Đôi khi nó có thể xảy ra rằng các phòng ban đầu được cung cấp là không đủ cho lĩnh vực này và sau đó tôi cần phải tăng chiều dài.
Nhưng thực tế, có đáng để giới hạn trường varchar
thành một số giá trị và không chỉ đặt một số giá trị như varchar(5000)
hoặc thậm chí varchar(max)
100% phù hợp với trường hợp này không? Có lợi thế nào trong tổ chức trang trong SQL Server hoặc tổ chức chỉ mục khi tôi giới hạn độ dài n
không?
Cập nhật
Dưới đây là những gì tôi có ý nghĩa (lợi thế): https://stackoverflow.com/a/5353196/355264
Vâng, tôi ưu truy vấn có thể đoán bao nhiêu hàng phù hợp trong một trang, nếu bạn có rất nhiều các trường varchar lớn hơn mức cần thiết, SQL Máy chủ có thể đoán sai số lượng hàng.
Điều trên có đúng không? Và có lợi thế nào khác không?
có thể trùng lặp của [là có một lợi thế để varchar (500) trên varchar (8000)?] (http://stackoverflow.com/questions/2009694/is-there-an-advantage-to -varchar500-over-varchar8000) hoặc của [varchar (ma x) ở khắp mọi nơi?] (http://stackoverflow.com/questions/2091284/varcharmax-everywhere) hoặc của [SQL Server VARCHAR Chiều rộng cột] (http://dba.stackexchange.com/questions/11614/sql-server- VARCHAR-column-width) –
RE: Chỉnh sửa của bạn. Xem [câu trả lời của tôi ở đây] (http://stackoverflow.com/questions/2009694/is-there-an-advantage-to-varchar500-over-varchar8000/5654947#5654947) –