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

Performances VARCHAR vs TEXT lorsque les données tiennent sur la ligne

utilisons quelques outils

Étant donné que l'intuition initiale (voir ci-dessous) était un échec , essayez d'exécuter votre requête via MySQL Workbench afin de recueillir des Statistiques de performances des requêtes .

intuition initiale (pas de résultat)

Juste une pensée :

  • TEXTE la taille de la colonne sur le disque est 2 + N octets où N est la longueur de la chaîne
  • VARCHAR prend 1 + N octets (pour N ≤ 255) ou 2 + N octets (pour 256 ≤ N ≤ 65535)

Essayez d'étendre la taille du texte dans la colonne au-dessus de 256 caractères et relancez vos tests. Potentiellement, ils fonctionneront avec des performances plus proches.

N'oubliez pas non plus que les différences que vous publiez sont exprimées en microsecondes par enregistrement, de sorte qu'il peut y avoir de nombreux événements du système d'exploitation gênant ou très simple if (TEXT) {do some additional IO or housekeeping} supplémentaire chemin du code dans la source.