Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 3517|Respuesta: 1

[Consejos] [Transferir] a MySQL Advanced: comando optimizar tabla

[Copiar enlace]
Publicado en 17/6/2023 11:40:34 | | |
Al usar mysql, puede que descubras que, aunque una tabla elimina muchos datos, los archivos de datos y los archivos índice de la tabla son extrañamente pequeños. Esto se debe a que mysql deja muchos huecos de datos al eliminar datos (especialmente Texto y BLOB), lo que ocupará el espacio de los datos originales, por lo que el tamaño del archivo no cambia. Estos agujeros pueden reutilizarse en el futuro cuando se inserten los datos, y por supuesto pueden permanecer allí. Este agujero no solo aumenta el coste de almacenamiento, sino que también reduce la eficiencia de escaneo de la tabla debido a la fragmentación de datos.

Escenarios de uso:Si has eliminado una gran parte de la tabla, o si has hecho muchos cambios en una tabla con filas de longitud variable (una con columnas VARCHAR, BLOB o TEXT), deberías usar OPTIMIZE TABLE. Los registros eliminados se mantienen en la lista enlazada, y las operaciones INSERTAR posteriores reutilizan la ubicación del registro antiguo. Puedes usar OPTIMIZE TABLE para reutilizar el espacio no utilizado y organizar fragmentos de archivos de datos. [Cuando se elimina una gran cantidad de datos de tu biblioteca, puede que descubras que el tamaño del archivo de datos no ha disminuido. Esto se debe a la fragmentación que queda en el archivo de datos tras la operación de eliminación.


En la mayoría de los ajustes, no necesitas ejecutar OPTIMIZAR TABLA en absoluto. Aunque hagas muchas actualizaciones en filas de longitud variable, no necesitas ejecutarlas a menudo, una vez a la semana o una vez al mes, solo para tablas específicas.

OPTIMIZE TABLE solo funciona para las tablas MyISAM, BDB e InnoDB.

Para las tablas BDB, la TABLA OPTIMIZADA está actualmente asignada a la TABLA ANALIZAR. Para las tablas InnoDB, la OPTIMIZE TABLE se mapea a la ALTER TABLE, que reconstruye la tabla. Las operaciones de reconstrucción, actualizan las estadísticas del índice y liberan espacio no utilizado en los índices agrupados.

Nota: MySQL bloquea la tabla durante la ejecución de OPTIMIZE TABLE.

Para myisam, puedes usar directamente la tabla de optimización table.name,Cuando es el motor InnoDB, informará "Table does not support optimize, doing recreate + analyze", y en circunstancias normales, si conviertes de myisam a innodb, usarás alter table table.name engine='innodb' para convertir, y también puedes usar esto para optimización.Por lo tanto, cuando se trata del motor InnoDB, podemos usar alter table table.name engine='innodb' en lugar de optimizar para optimización

Para ver el antes y después de Effects, puedes usar el comando de mostrar estado de tabla, como mostrar estado de tabla desde [base de datos] como '[table_name]'; La data_free en el resultado de retorno es el espacio de almacenamiento ocupado por el vacío.

El script de shell que implementa la reparación temporal de la tabla de verificación por lotes y optimización de tabla optimizada MySQL es el siguiente:

Texto original en:

El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.




Anterior:Utiliza la herramienta de infiltración SQLMAP para pruebas de inyección SQL
Próximo:Tutorial de instalación de Consul en un entorno de pruebas de Windows
 Propietario| Publicado en 6/7/2023 18:54:17 |
--Lista de verificación


-- Arregla la mesa


-- Optimizar la tabla


Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com