sql >> Base de Datos >  >> RDS >> Mysql

Comprensión de los tamaños de almacenamiento para los tipos de datos de TEXTO de MySQL

TEXT Los objetos de datos, como su nombre lo indica, son útiles para almacenar cadenas de texto de formato largo en una base de datos MySQL. Los cuatro TEXT Los tipos de objetos de datos están creados para almacenar y mostrar cantidades sustanciales de información a diferencia de otros tipos de objetos de datos que son útiles con tareas como ordenar y buscar columnas o manejar opciones más pequeñas basadas en la configuración para un proyecto más grande. Los diferentes TEXT Los objetos ofrecen un rango de espacio de almacenamiento de 1 byte a 4 GB y no están diseñados para almacenar valores computacionales. Es común verlos utilizados para almacenar descripciones de productos para un sitio de ventas, resúmenes de propiedades para bases de datos de bienes raíces y texto de artículos de formato largo en un sitio web de noticias. TEXT los objetos se utilizan mejor cuando VARCHAR y otros objetos de datos basados ​​en cadenas son insuficientes para gestionar el almacenamiento de la cantidad deseada de información. Sin embargo, el TEXT más pequeño tipo, TINYTEXT , comparte la misma longitud de caracteres que VARCHAR . TEXT Los objetos se diferencian de otros tipos de almacenamiento de cadenas al eliminar el requisito de especificar una longitud de almacenamiento, no eliminan bytes cuando se seleccionan y no rellenan el espacio de caracteres no utilizado para un almacenamiento en disco eficiente. Desde TEXT los objetos no se almacenan en la memoria del servidor, requieren sobrecarga de datos para su recuperación. Los siguientes tamaños asumen que la base de datos usa la codificación UTF-8.

TINYTEXT:255 caracteres - 255 B

El TINYTEXT el objeto de datos es el más pequeño de los TEXT family y está diseñado para almacenar de manera eficiente cadenas cortas de información. Este tipo puede almacenar hasta 255 bytes (expresados ​​como 2^8 -1) o 255 caracteres y requiere una sobrecarga de 1 byte. Este objeto se puede usar para almacenar cosas como resúmenes cortos, enlaces URL y otros objetos más cortos. TINYTEXT brilla sobre VARCHAR al almacenar datos que tienen menos de 255 caracteres con una longitud inconsistente y no es necesario utilizarlos para clasificar los criterios.

TEXTO:65.535 caracteres - 64 KB

El TEXT estándar objeto de datos es lo suficientemente capaz de manejar contenido de texto típico de formato largo. TEXT los objetos de datos superan los 64 KB (expresados ​​como 2^16 -1) o 65 535 caracteres y requieren una sobrecarga de 2 bytes. Es lo suficientemente grande para contener el texto de algo como un artículo, pero no sería suficiente para contener el texto de un libro completo.

MEDIO TEXTO:16,777,215 - 16 MB

El MEDIUMTEXT El objeto de datos es útil para almacenar cadenas de texto más grandes, como documentos técnicos, libros y copias de seguridad de códigos. Estos objetos de datos pueden tener un tamaño de hasta 16 MB (expresado como 2^24 -1) o 16 777 215 caracteres y requieren 3 bytes de almacenamiento adicional.

TEXTO LARGO:4,294,967,295 caracteres - 4 GB

El LONGTEXT El objeto de datos se usa en casos de uso extremos de almacenamiento de cadenas de texto. Es una opción viable cuando el MEDIUMTEXT el objeto no es lo suficientemente grande. Los programas y aplicaciones de computadora a menudo alcanzan longitudes de texto en el LONGTEXT distancia. Estos objetos de datos pueden tener un tamaño de hasta 4 GB (expresado como 2^32 -1) y almacenar hasta 4 294 967 295 caracteres con 4 bytes de almacenamiento adicional,

TEXTO vs. BLOB

BLOB Los correos electrónicos son un tipo alternativo de almacenamiento de datos que comparten mecanismos de capacidad y nombres coincidentes con TEXT objetos. Sin embargo, BLOB s son cadenas binarias sin clasificación de conjuntos de caracteres, por lo que se tratan como valores numéricos mientras que TEXT los objetos se tratan como cadenas de caracteres. Esta diferenciación es importante para clasificar la información. BLOB Los correos electrónicos se utilizan para almacenar archivos de datos como imágenes, videos y ejecutables.

Notas de uso

  • Usando TEXT los campos para consultas de selección y búsqueda incurrirán en impactos de rendimiento porque el servidor llamará a los objetos individualmente y los escaneará durante la consulta en lugar de paginar los datos almacenados en la memoria.
  • Habilitar SQL estricto impondrá la longitud máxima de caracteres y truncará cualquier dato ingresado que exceda esos límites.
  • TEXT las columnas requieren una longitud de prefijo de índice y no pueden tener DEFAULT valores, a diferencia de CHAR y VARCHAR objetos.
  • Estimación del tamaño por recuento de palabras:suponga que la palabra promedio en inglés tiene 4,5 letras y necesita 1 carácter adicional para el espaciado. Por ejemplo, un sitio que consta de artículos de 500 palabras usaría alrededor de 2750 caracteres en promedio para los datos de texto del artículo. TINYTEXT La capacidad de 255 caracteres de es insuficiente para este caso de uso, mientras que TEXT La capacidad de 65 535 caracteres de ofrece almacenamiento para artículos que alcanzan más de 11 900 palabras según el criterio promedio.