2008-08-07 5 views
3

Les chars sont excellents parce qu'ils sont de taille fixe et permettent ainsi une table plus rapide. Ils sont cependant limités à 255 caractères. Je veux contenir 500 caractères mais un blob est de longueur variable et ce n'est pas ce que je veux.Plus gros qu'un char mais plus petit qu'un blob

Existe-t-il un moyen d'avoir un champ de longueur fixe de 500 caractères dans MySQL ou dois-je utiliser 2 champs char?

Répondre

6

Je suggère d'utiliser un varchar (500). Même si varchar n'a pas une longueur fixe, la base de données doit réserver la quantité d'espace correcte. Vous ne devriez pas remarquer de différence de performance en utilisant varchar (500) sur 2xchar (255).

Vous allez également probablement causer des frais supplémentaires en joignant deux champs char ensemble.

2

Je suggère d'utiliser un varchar (500)

... si vous avez MySQL 5.0.3 ou plus. Dans les versions précédentes, VARCHAR était limité à 255 caractères.

De même, CHAR et VARCHAR ne fonctionnent pas de la même manière en ce qui concerne les espaces de fin. Assurez-vous de lire 10.4.1. The CHAR and VARCHAR Types (ceci est pour MySQL 5.0).

0

Vous vous inquiétez trop des détails d'implémentation internes. Ne pré-optimise pas.

Aller avec VARCHAR(500)

Questions connexes