La tabla MySQL no admite optimizar

9

Parece que mis tablas de Wordpress necesitan optimización, así que busqué en el comando OPTIMIZE TABLE. Cuando ejecuto el comando obtengo los siguientes resultados:

La tabla no admite la optimización, sino que recrea y analiza

Las tablas se crean utilizando el instalador de Wordpress 2.91 y no se han modificado en absoluto.

  1. ¿Esto es normal?
  2. ¿Cómo puedo optimizar mi base de datos para que todo funcione correctamente?
Dscoduc
fuente
¿Obtuviste tu mesa optimizada?
Richard Holloway

Respuestas:

5

¿Has encontrado la documentación de MySQL? Es extenso y útil.

Cuando se ejecuta OPTIMIZE TABLEcontra tablas InnoDB, genera el Table does not support optimize, doing recreate + analyze insteadmensaje.

De la documentación:

OPTIMIZE TABLE se asigna a ALTER TABLE, que reconstruye la tabla para actualizar las estadísticas del índice y liberar espacio no utilizado en el índice agrupado.

Sintaxis de MySQL 5.1 OPTIMIZE TABLE

Warner
fuente
1
Con esto en mente, asegúrese de su motor antes de habilitarlo skip-innodbcomo sugerí en su publicación anterior.
Warner
1
Es curioso, busqué muchas veces apoyo sobre este tema y no encontré esa información ... Entonces, en realidad, la documentación de mySQL no es realmente tan útil ... Aun así, todavía no veo una respuesta para mi pregunta sobre cómo mantener mi base de datos funcionando correctamente sin poder optimizar la base de datos ...
Dscoduc
2
El mensaje indica que está optimizando la tabla. La razón por la que es tan detallado es porque es esencialmente un acceso directo para la declaración de alterar tabla, que es lo que tenía que usarse en versiones anteriores de MySQL porque OPTIMIZE TABLEno podía ejecutarse contra InnoDB. ¿Por qué cree que necesita optimizar la tabla para que su base de datos funcione correctamente?
Warner
5

Puede optimizar una tabla InnoDB haciendo

ALTER TABLE tablename ENGINE='InnoDB';

Esto creará una copia de la tabla original, suelte la tabla original y coloque la nueva tabla en su lugar.

Aquí hay información adicional que incluye cosas que debe tener en cuenta.

También en la documentación de MySQL . Vea el comentario de Dathan Pattishall el 25 de mayo de 2004 4:41 pm aproximadamente a la mitad de la página.

Aunque esto debería ser seguro, primero debe hacer y probar una copia de seguridad.

Richard Holloway
fuente
2
Esto produce exactamente los mismos resultados que ejecutar OPTIMIZE TABLEcontra una tabla InnoDB en MySQL.
Warner
2

es posible

use un complemento de base de datos de wp como http://wordpress.org/extend/plugins/wp-dbmanager/

& activar el complemento

y vaya a la página y haga clic en optimizar base de datos, optimizará su base de datos

No es necesario ingresar ningún inicio de sesión sql. Se obtiene de wp-config.php

Athul
fuente
2

OPTIMIZE funciona para InnoDB. Al menos lo hace ahora. Esta es la documentación 5.6:

Para las tablas InnoDB, OPTIMIZE TABLE se asigna a ALTER TABLE, que reconstruye la tabla para actualizar las estadísticas del índice y liberar espacio no utilizado en el índice agrupado.

Leer: Optimizar tabla

chantheman
fuente