2009-03-06 6 views
4

J'ai un champ de texte qui peut contenir 30 caractères, mais il peut atteindre environ 2.000 caractères. Pour "sécurité future", il serait bon que cette nouvelle colonne puisse supporter jusqu'à 3.000 caractères. Je pense que la taille moyenne de ce champ est de 250 caractères.Création d'une colonne de texte dans une table SQL Server: quel type dois-je choisir?

Quel type de données SQL Server 2000 est préférable d'augmenter les performances et l'espace disque?

Répondre

6

Avez-vous besoin de données Unicode ou non-Unicode? Utilisez soit varchar (3000) ou nvarchar (3000). N'utilisez pas de texte ou de ntext car ils deviennent problématiques à interroger ou à mettre à jour.

La conception pour la longueur moyenne n'a aucun sens.

3

Si votre champ peut contenir jusqu'à 3000 caractères, vous devriez probablement vous assurer que votre type de données permettra quelque chose d'aussi gros. Conception basée sur votre maximum, pas votre moyenne.

+0

Merci d'avoir participé. Avez-vous une suggestion pour un type de données à utiliser dans ce cas? –

+0

@Victor: Un varchar (3000) vous donnerait le plus de flexibilité. L'utilisation d'un champ de texte rend l'interrogation du contenu du champ plus difficile. – TheTXI

+0

En outre, HLGEM a fait un bon point en incluant Nvarchar au mélange si vous envisagez d'accepter des caractères plus que votre jeu de caractères standard (comme le développement pour plusieurs langues). – TheTXI

3

Cela semble être le cas parfait pour VarChar. Faites-vous une indexation sur ce champ?

+0

Je n'aurai pas d'indexation pour ce champ. –