2009-05-27 5 views
4

J'ai un site web qui contient environ 1000 chaînes de caractères différentes dans une base de données mysql qui sont utilisées pour afficher tout le texte sur mon site web. La raison pour laquelle la chaîne est stockée dans une base de données est parce que je supporte 2 langues différentes et doit pouvoir afficher les différentes langues selon les préférences des utilisateurs (anglais et chinois)varchar vs. mediumtext

Les chaînes varient en longueur et probablement 250 d'entre eux serait trop long pour rentrer à l'intérieur à varchar. Je suis sur le point d'implémenter cette base de données, mais je ne suis pas sûr de construire une table avec varchars qui conviendra à 750 chaînes, puis utiliser une autre table en utilisant mediumtext pour stocker les 250 chaînes plus longues restantes.

La différence de performances entre varchar et mediumtext est-elle suffisante pour justifier les problèmes supplémentaires lors de la configuration de 2 tables? Ou recommanderiez-vous simplement d'utiliser 1 table avec tout en utilisant mediumtext.

Les utilisateurs ne seront pas en mesure de rechercher ces données et j'utilise PHP pour afficher les données.

Merci

Répondre

4

Je suggère d'utiliser mediumtext plutôt que diviser vos données en deux tables. La différence de performance entre varchar et mediumtext est assez grande pour vous permettre de diviser 1000 enregistrements en deux tables. Une table indexée correctement devrait faire le travail assez bien.

+0

Merci Sobbayi. C'est ce que j'avais besoin d'entendre pour prendre la décision. Je pensais que le garder 1 table serait la meilleure route mais je voulais entendre des gens plus expérimentés que moi concernant les avantages et les inconvénients de la performance sur les différents types de données. Merci encore! – justinl