2009-09-03 6 views
10

Ma question est ce qu'il vaut mieux utiliser pour générer des colonnes en SQL. Est-ce que la taille de nvarchar (varchar) devrait être multipliée par 2 (32, 64, 128) ou cela n'a pas d'importance et on peut utiliser les nombres entiers '100', '50'?Nvarchar ou varchar quoi de mieux utiliser multiplier 2 ou arrondir les nombres entiers?

Merci beaucoup de réponses avec des raisons

voeux de tous

+0

Voyez, maintenant j'attends de voir s'il y a des dissidents. Nous avons 5 votes pour n'a pas d'importance. :) – TheJacobTaylor

+0

Merci pour Toi réponds maintenant je maintenant ça n'a pas d'importance. BR – szkra

Répondre

14

Ne fait aucune différence. Utilisez la taille appropriée pour vos données. Par exemple SQL Server, si vous regardez le Anatomy of a Record vous verrez que votre taille se traduit par des offsets d'enregistrement qui dépendent de l'enregistrement précédent dans la table, des valeurs nulles et d'autres facteurs, spécialement avec compression de ligne et compression de page pris en compte. Au moment où le champ est accédé, toute ressemblance avec la relation originale de taille de déclaration, vis-à-vis des pouvoirs de 2 ou des puissances de 10, est révolue depuis longtemps. De plus, divers éléments plus hauts sur une pile d'exécution de requête comme des opérateurs de jointure ou des opérateurs de tri ne bénéficieraient pas non plus de puissances de 2 tailles (je n'ai pas de liens 'preuve', mais c'est OK). . Le protocole TDS non plus lors du marshaling des données au client. Et je vois peu de bénéfice chez le client aussi.

2

Il n'y a aucun avantage à avoir la taille de (N)VARCHAR colonnes soit une puissance de 2. Utilisez tout ce qui convient à votre modèle de domaine.

2

n'a pas d'importance, les valeurs de toutes les colonnes de table sont strcutured par le moteur pour tenir ensemble sur la page physique

8

Il n'y a aucune raison d'utiliser des multiples de 2. Définissez le champ pour correspondre à la taille estimée de vos données.

Un nombre qui vaut la peine d'être mentionné est 255. Certains systèmes de base de données ont un type varchar maximum de 255, bien que ce soit de plus en plus rare. Je pense principalement ici à ce qui sont maintenant des versions très anciennes de MySQL. Et parfois, les développeurs vont définir la taille de la colonne à 255 pour assurer plus de portabilité.

3

Je vote que ce n'est pas grave. Choisissez ce qui est le plus logique pour votre application. Utilisez des valeurs lisibles par l'homme. Choisissez des noms sympas pour les variables et les colonnes. Seulement dans les cas vraiment extrêmes vous aurez besoin de syntoniser. Lorsque vous découvrez que vous devez syntoniser, syntonisez. Jusque-là, optez pour ce qui est le plus logique d'un point de vue commercial ou humain.

Questions connexes