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

Comprendre les tailles de stockage pour les types de données MySQL TEXT

TEXT Les objets de données, comme leur nom l'indique, sont utiles pour stocker des chaînes de texte longues dans une base de données MySQL. Les quatre TEXT les types d'objets de données sont conçus pour stocker et afficher des quantités substantielles d'informations par opposition à d'autres types d'objets de données qui sont utiles pour des tâches telles que le tri et la recherche de colonnes ou la gestion d'options basées sur la configuration plus petites pour un projet plus important. Les différents TEXT les objets offrent une plage d'espace de stockage allant de 1 octet à 4 Go et ne sont pas conçus pour stocker des valeurs de calcul. Il est courant de les voir utilisés pour stocker des descriptions de produits pour un site de vente, des résumés de propriétés pour une base de données immobilière et un texte d'article long sur un site Web d'actualités. TEXT les objets sont mieux utilisés lorsque VARCHAR et d'autres objets de données basés sur des chaînes sont insuffisants pour gérer le stockage de la quantité d'informations souhaitée. Cependant, le plus petit TEXT tapez, TINYTEXT , partage la même longueur de caractères que VARCHAR . TEXT les objets se différencient des autres types de stockage de chaînes en supprimant l'obligation de spécifier une longueur de stockage, en ne supprimant pas les octets lorsqu'ils sont sélectionnés et en ne remplissant pas l'espace de caractères inutilisé pour un stockage sur disque efficace. Depuis TEXT les objets ne sont pas stockés dans la mémoire du serveur, ils nécessitent une surcharge de données pour être récupérés. Les tailles suivantes supposent que la base de données utilise le codage UTF-8.

TINYTEXT :255 caractères - 255 B

Le TINYTEXT l'objet de données est le plus petit des TEXT famille et est conçu pour stocker efficacement de courtes chaînes d'informations. Ce type peut stocker jusqu'à 255 octets (exprimés sous la forme 2^8 -1) ou 255 caractères et nécessite une surcharge de 1 octet. Cet objet peut être utilisé pour stocker des éléments tels que de courts résumés, des liens URL et d'autres objets plus courts. TINYTEXT brille sur VARCHAR lors du stockage de données de moins de 255 caractères avec une longueur incohérente et qu'il n'est pas nécessaire d'utiliser pour les critères de tri.

TEXTE :65 535 caractères - 64 Ko

Le TEXT standard l'objet de données est suffisamment capable de gérer un contenu textuel typique de forme longue. TEXT les objets de données dépassent 64 Ko (exprimés sous la forme 2 ^ 16 -1) ou 65 535 caractères et nécessitent une surcharge de 2 octets. Il est suffisamment grand pour contenir du texte pour quelque chose comme un article, mais ne serait pas suffisant pour contenir le texte d'un livre entier.

TEXTE MOYEN :16 777 215 - 16 Mo

Le MEDIUMTEXT L'objet de données est utile pour stocker des chaînes de texte plus volumineuses telles que des livres blancs, des livres et une sauvegarde de code. Ces objets de données peuvent atteindre 16 Mo (exprimés sous la forme 2^24 -1) ou 16 777 215 caractères et nécessitent 3 octets de stockage supplémentaire.

LONGTEXT :4 294 967 295 caractères - 4 Go

Le LONGTEXT L'objet de données est destiné à être utilisé dans des cas d'utilisation extrêmes du stockage de chaînes de texte. C'est une option viable lorsque le MEDIUMTEXT l'objet n'est pas assez grand. Les programmes informatiques et les applications atteignent souvent des longueurs de texte dans le LONGTEXT Portée. Ces objets de données peuvent atteindre 4 Go (exprimés sous la forme 2^32 -1) et stocker jusqu'à 4 294 967 295 caractères avec 4 octets de stockage supplémentaire,

TEXTE contre BLOB

BLOB s sont un type alternatif de stockage de données qui partagent des mécanismes de nommage et de capacité correspondants avec TEXT objets. Cependant, BLOB s sont des chaînes binaires sans tri de jeu de caractères, elles sont donc traitées comme des valeurs numériques tandis que TEXT les objets sont traités comme des chaînes de caractères. Cette différenciation est importante pour le tri des informations. BLOB s sont utilisés pour stocker des fichiers de données tels que des images, des vidéos et des exécutables.

Remarques d'utilisation

  • Utiliser TEXT les champs pour les requêtes de sélection et de recherche entraîneront des baisses de performances car le serveur appellera les objets individuellement et les analysera pendant la requête au lieu de paginer les données stockées dans la mémoire.
  • L'activation du SQL strict appliquera les longueurs de caractères maximales et tronquera toutes les données saisies qui dépassent ces limites.
  • TEXT les colonnes nécessitent une longueur de préfixe d'index et ne peuvent pas avoir DEFAULT valeurs, contrairement à CHAR et VARCHAR objets.
  • Estimation de la taille en fonction du nombre de mots :supposons qu'un mot anglais moyen comporte 4,5 lettres et nécessite 1 caractère supplémentaire pour l'espacement. Par exemple, un site composé d'articles de 500 mots utiliserait environ 2 750 caractères en moyenne pour les données textuelles de l'article. TINYTEXT La capacité de 255 caractères de est insuffisante pour ce cas d'utilisation, tandis que TEXT La capacité de 65 535 caractères de offre un espace de stockage pour les articles contenant plus de 11 900 mots selon les critères moyens.