Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quand utiliser TEXT dans mysql au lieu de VARCHAR

Un long VARCHAR est stocké de la même manière qu'un TEXT /BLOB champ dans InnoDB .

source

Sauf si vous avez besoin d'indexer ces colonnes (auquel cas VARCHAR est beaucoup plus rapide) il n'y a aucune raison d'utiliser VARCHAR sur TEXT pour les champs longs - il existe des optimisations spécifiques au moteur dans MySQL pour régler la récupération des données en fonction de la longueur, et vous devez utiliser le type de colonne correct pour en tirer parti.

Si vous utilisez MyISAM une discussion approfondie sur le sujet est ici .

TEXT et BLOB sont stockés hors de la table, la table ayant juste un pointeur vers l'emplacement du stockage réel.

VARCHAR est stocké en ligne avec la table. VARCHAR est plus rapide lorsque la taille est raisonnable.

Selon ce test , VARCHAR est environ trois fois plus rapide que le texte.