2009-06-26 22 views
0

Quand j'ai un champ de texte, je stocke généralement comme varchar. Mais alors, je rencontre la question de savoir comment je connais la limite que je devrais placer? Estimer combien de texte un utilisateur va taper semble très imprécis.Estimation de la taille nécessaire pour le texte dans MySQL

Comme varchar utilise autant d'espace que nécessaire, est-il préférable de fixer la limite à beaucoup plus grande que vous estimez?

Y at-il inconvénient à utiliser les différents types de données de texte? Peut-il être recherché en utilisant l'opérateur "LIKE" et les caractères génériques?

Répondre

0

Je pense qu'il pourrait y avoir des cas où il est préférable de réduire la valeur de varchar. Mais dans de nombreux cas, il est bon d'utiliser 255 comme limite.

Varchar peut être recherché avec LIKE et wildgards.

+0

Je pensais utiliser une limite plus proche de 1000s. Pour certains champs de texte, les utilisateurs entrent dans une grande quantité de texte, ce qui est la raison pour laquelle je trouve difficile l'estimation. –

0

Si l'utilisateur est susceptible de taper plus de 255 caractères (la limite habituelle pour un VARCHAR) alors vous avez besoin de TEXT, mais il peut être indexé. MySQL a un index FULLTEXT pour les colonnes TEXT, qui fonctionne raisonnablement bien, mais ne serait pas aussi rapide qu'une colonne CHAR ou VARCHAR. Pourquoi ne pas essayer un test sur votre machine locale avec quelques données fictives pour voir comment les performances se comparent, et si vous pouvez faire les requêtes que vous souhaitez assez rapidement?