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

Quel DATATYPE est préférable d'utiliser TEXT ou VARCHAR ?

Cela dépend de l'utilisation que vous en faites. Je déteste donner une réponse aussi générique, mais c'est vrai. En règle générale, essayez d'obtenir le type de données aussi précis que possible. Si vos chaînes ne dépasseront jamais une limite supérieure de caractères, utilisez VARCHAR car ce sera un peu plus efficace. Si vous avez besoin de plus d'espace, utilisez TEXT . Si vous n'êtes pas sûr de l'espace que votre texte occupera, vous devriez probablement utiliser TEXT; la différence de performances n'est pas très grande, et il vaut mieux être évolutif que de risquer de devoir le changer plus tard lorsque vos besoins changent. Juste mes deux cents.

Dans les commentaires, Pitarou précise que, si MySQL crée une table temporaire pour votre requête (voir ceci ), TEXT les colonnes ne seront pas stockées en mémoire et devront être lues à partir du disque, ce qui est beaucoup plus lent. (Source , en bas de la page.) Cela ne devrait cependant pas avoir d'importance pour la plupart des requêtes.

Au cas où quelqu'un se demanderait comment PostgreSQL se compare, j'ai trouvé ce benchmark cela montre que CHAR, VARCHAR et TEXT fonctionnent tous aussi bien. Donc, si vous utilisez Postgres, peu importe le type que vous utilisez.