Chúng tôi sử dụng VARCHAR cho hầu như mọi thứ, và NVARCHAR chỉ rất rất thỉnh thoảng.
Codes sản phẩm không cần nvarchar - chúng tôi không cho phép bất cứ điều gì khác ngoài AZ, 0-9 và "_" trong họ ...
của nó gấp đôi không gian lưu trữ, nhưng cũng chỉ có một nửa mục trên mỗi trang chỉ mục (và trên mỗi trang dữ liệu) và một nửa bộ nhớ cache bộ nhớ là "lãng phí", chu kỳ CPU hơn để so sánh dữ liệu, và như vậy.
IME các điểm nhấn nước ngoài thường được sử dụng chỉ hoạt động trong Varchar (nghĩa là LATIN-1). Chúng tôi không có kế hoạch để làm Trung Quốc hoặc các bộ ký tự thay thế khác, và khi chúng tôi có thể xử lý các nhân vật đó bằng cách sử dụng NVarchar từ Day One sẽ là ít nhất của những lo lắng của chúng tôi - Phải-trái hoặc dọc của văn bản ?? :(
Và nếu bạn cho phép NVarchar, ví dụ: Tên bạn sẽ nhập charcater mở rộng từ bàn phím của bạn như thế nào? Và nếu bạn nhập dữ liệu (vì vậy nó đã là NVarchar), bạn sẽ như thế nào có thể tìm kiếm khách hàng đó bằng bàn phím QWERTY tiêu chuẩn của bạn. Rất nhiều và rất nhiều thứ liên quan đến việc quốc tế hóa ứng dụng, vì vậy quan điểm của tôi là không có điểm "cho phép bằng cách sử dụng NVarchar".
Nhưng có rất nhiều nơi tôi đi để có NVarchar ... và hầu hết các cột đều có chiều rộng 50 ký tự .... họ phải biết điều gì đó về tăng trưởng dân số và kế hoạch mở rộng cho các mã ZIP mà tôi không làm như vậy !!
Tôi muốn thêm phiên bản SQL Server vào câu hỏi của bạn, nó có thể tạo sự khác biệt? – Ash
Tôi đang sử dụng máy chủ sql 2005 hiện tại nhưng chúng tôi đang tìm cách chuyển sang năm 2008 cuối cùng. – mmcdole