Buena suerte, MySQL ocupa cada vez más espacio

¡Obtenga información técnica sobre productos secos e información de la industria por primera vez!

Buena suerte, MySQL ocupa cada vez más espacio

Trabajo 996, vida 669, vida 886

Enseñarle a consultar tablas posteriores en MySQL

No saludes, miserable desarrollo. Se acerca una gran ola de preguntas de la entrevista de Redis

¿Conoce todas las preguntas de la entrevista de MySQL que debe hacer BAT?

¿Cómo aprender el protocolo web capturando el paquete real?

Por cierto, un día fui por un capricho. Inicie sesión en Alibaba Cloud y descubra que RDS ocupa mucho espacio. Recordé que había una tabla que no estaba bien diseñada al principio y había muchos datos inútiles. Solo quiero eliminar y limpiar una parte de los datos para ahorrar espacio.

Simplemente haga lo que dice, una declaración de eliminación, de la siguiente manera:

Buena suerte, MySQL ocupa cada vez más espacio

Inesperadamente ocurrió un accidente. Luego de borrar cientos de miles de datos, fui a revisar el espacio de datos que ocupaba el RDS. No solo no disminuyó, sino que también aumentó. ¿Cómo va esto?

Buena suerte, MySQL ocupa cada vez más espacio

Es posible que muchas personas no hayan notado este problema. Por lo general, es posible que el enfoque de todos no esté en este aspecto.

Después de que eliminé estos datos, Alibaba Cloud envió inmediatamente una alerta por correo electrónico, diciendo que nuestro espacio de almacenamiento RDS era demasiado grande y que no había forma, porque el nivel de conocimiento era limitado al principio. Se necesitó dinero de la empresa para actualizar el espacio de almacenamiento.

Esta pregunta me desconcertó hasta que leí "MySQL de alto rendimiento" hace dos años. Y hoy, otro internauta me escribió en privado y recordé esto. Entonces, hoy, les explicaré por qué este es el caso.

El primero es lo que dicen muchas personas en Internet, este es un error de MySQL que no se resolvió hasta MySQL 5.7. Dado que originalmente seleccionamos la versión MySQL 5.6, después de que ocurriera este problema, también consultamos Alibaba Cloud. Sin embargo, la respuesta dada por Alibaba Cloud es que solo se puede realizar la migración de datos. Aunque MySQL 5.7 puede resolver este problema, la versión MySQL 5.6 de Alibaba Cloud no se puede actualizar directamente a 5.7. Y la migración de la base de datos es una pérdida de tiempo y energía, tal vez, y luego se perderán los datos principales. El JEFE debe cortarme.

La segunda cosa que quiero decir es que MySQL 5.6 tiene por defecto los espacios de tabla independientes. Si se adopta el modo de almacenamiento de tabla independiente, archivos como report_site_day.ibd (almacenar información de datos e información de índice) también se generarán en los datos. Cuando se elimina, no se eliminará.

La tercera es la implementación subyacente de la función de eliminación de MySQL. No es lo que todos piensan, la eliminación realmente se elimina cuando se ejecuta la eliminación. Pero cuando usa delete para eliminar, MySQL no elimina el archivo de datos, sino que elimina el bit de identificación del archivo de datos. El archivo no está organizado, por lo que el espacio no se liberará por completo. Los datos eliminados se guardarán en una lista de enlaces. Cuando se escriben nuevos datos, MySQL usará el espacio eliminado para escribir nuevamente. Es decir, la operación de borrado traerá algunos fragmentos de datos, y son estos fragmentos los que ocupan el espacio del disco duro.

Buena suerte, MySQL ocupa cada vez más espacio

Acerca de la migración de datos también traerá algunos problemas, hablaremos de esto en el próximo capítulo. Hoy hablaré sobre el comando OPTIMIZE TABLE recomendado oficialmente por MySQL para limpiar y optimizar el espacio de tabla InnoDB.

El formato del comando OPTIMIZE TABLE es el siguiente:

Buena suerte, MySQL ocupa cada vez más espacio

El uso específico es el siguiente:

Buena suerte, MySQL ocupa cada vez más espacio

O también puede generar SQL que optimice todas las tablas en lotes como este, y luego copiarlas para su ejecución:

Buena suerte, MySQL ocupa cada vez más espacio

Además, también podemos configurar la tabla como un almacenamiento de tabla única, de modo que los datos de cada tabla se almacenen por separado, y cuando se eliminen los datos, el espacio de almacenamiento se liberará a medida que se eliminen los datos.

Buena suerte, MySQL ocupa cada vez más espacio

En cuanto a la migración de datos, podemos hacer una copia de seguridad y luego eliminar y luego importar.

Buena suerte, MySQL ocupa cada vez más espacio

También hay muchas trampas en la migración de datos, que es de lo que quiero hablar en el próximo capítulo. Nuestra promesa, ¡nos vemos mañana!

Buena suerte, MySQL ocupa cada vez más espacio

Supongo que te gusta

Origin blog.51cto.com/15127565/2666212
Recomendado
Clasificación