Nous utilisons VARCHAR pour presque tout, et NVARCHAR seulement très très occasionnellement.
Codes produit ne ont pas besoin nVarChar - nous ne permettons pas autre chose que AZ, 0-9 et « _ » dans les ...
Son espace de stockage deux fois, mais aussi que la moitié de la entrées par page d'index (et par page de données) et la moitié du cache mémoire est "gaspillé", plus de cycles CPU pour comparer les données, et ainsi de suite.
IME les accents étrangers couramment utilisés travaillent uniquement dans Varchar (c'est-à-dire LATIN-1). Nous n'avons pas l'intention de faire des jeux de caractères chinois ou alternatifs, et quand nous serons en mesure de gérer ce jeu de caractères en utilisant NVarchar dès le premier jour, nous serons le moindre de nos soucis - Alignement droit-à-gauche ou vertical du texte. :(
Et si vous avez autorisé NVarchar pour, disons, un nom, comment allez-vous taper le caractère étendu à partir de votre clavier? Et si vous importez les données (il est déjà NVarchar) comment allez-vous capable de rechercher ce client en utilisant votre clavier QWERTY standard Beaucoup de choses impliquées dans l'internationalisation d'une application, donc mon opinion est qu'il n'y a aucun intérêt à "l'utiliser en utilisant NVarchar"
Mais là encore beaucoup d'endroits I aller à avoir NVarchar ... et la plupart des colonnes sont aussi de 50 caractères .... ils doivent savoir quelque chose sur la croissance de la population et les plans d'expansion pour les codes postaux que je n'ai pas !!
Je voudrais ajouter la version de SQL Server à votre question, cela peut faire une différence? – Ash
J'utilise sql server 2005 actuellement mais nous cherchons à passer à 2008 finalement. – mmcdole