Мы используем VARCHAR практически для всех, а NVARCHAR - очень часто.
коде продукт не нужно NVARCHAR - мы ничего, кроме AZ, 0-9 и не позволяют «_» в них ...
Свы вдвое больше места для хранения, но и только половина записи на индексную страницу (и на каждую страницу данных) и половину кэша памяти «потеряны», больше циклов ЦП для сравнения данных и т. д.
IME широко используемые иностранные акценты работают только в Varchar (то есть LATIN-1). У нас нет планов делать китайские или другие альтернативные наборы символов, и когда мы сможем справиться с этим набором символов, используя NVarchar с первого дня, мы будем меньше всего беспокоиться - выравнивание текста справа налево или по вертикали? :(
И если вы разрешили NVarchar, скажем, имя, как вы собираетесь вводить расширенный charcater с вашей клавиатуры? И если вы импортируете данные (так это уже NVarchar), как вы собираетесь способный искать этого клиента, используя стандартную QWERTY-клавиатуру. Много и много, что связано с интернационализацией приложения, поэтому я считаю, что нет смысла «разрешать его с помощью NVarchar».
Но там снова много мест I пойдите, чтобы иметь NVarchar ... и большинство столбцов также имеют ширину 50 символов ... они должны что-то знать о планах роста населения и планах расширения для почтовых индексов, которые у меня нет!
Я бы добавил версию SQL Server на ваш вопрос, это может иметь значение? – Ash
Я использую sql server 2005 в настоящее время, но мы хотим перейти в 2008 году. – mmcdole