La tabella MySQL non supporta l'ottimizzazione


9

Le mie tabelle di Wordpress sembrano necessitare di ottimizzazione, quindi ho esaminato la tabella OPTIMIZE commmand. Quando eseguo il comando ottengo i seguenti risultati:

La tabella non supporta l'ottimizzazione, facendo invece ricreare + analizza

Le tabelle vengono create utilizzando il programma di installazione di Wordpress 2.91 e non sono state affatto modificate.

  1. È normale?
  2. Come posso ottimizzare il mio database per far funzionare correttamente le cose?

Hai ottimizzato il tuo tavolo?
Richard Holloway,

Risposte:


5

Hai trovato la documentazione di MySQL? È ampio e utile.

Quando si esegue OPTIMIZE TABLEsu tabelle InnoDB, viene emesso il Table does not support optimize, doing recreate + analyze insteadmessaggio.

Dalla documentazione:

OPTIMIZE TABLE è mappato su ALTER TABLE, che ricostruisce la tabella per aggiornare le statistiche dell'indice e liberare spazio inutilizzato nell'indice cluster.

Sintassi di MySQL 5.1 OPTIMIZE TABLE


1
Con questo in mente, assicurati del tuo motore prima di abilitare, skip-innodbcome ho suggerito nel tuo post precedente.
Warner,

1
Divertente, ho cercato molte volte supporto su questo argomento e non ho trovato quelle informazioni ... Quindi, in realtà, la documentazione di mySQL non è poi così utile ... Anche così, non vedo ancora una risposta a la mia domanda su come far funzionare correttamente il mio database senza essere in grado di ottimizzare il database ...
Dscoduc

2
Il messaggio indica che sta ottimizzando la tabella. Il motivo per cui è così dettagliato è perché è essenzialmente una scorciatoia per l'istruzione alter table, che è ciò che doveva essere usato invece nelle versioni precedenti di MySQL perché OPTIMIZE TABLEnon poteva essere eseguito contro InnoDB. Perché ritieni di dover ottimizzare la tabella affinché il tuo database funzioni correttamente?
Warner,

5

Puoi ottimizzare una tabella InnoDB facendo

ALTER TABLE tablename ENGINE='InnoDB';

Questo creerà una copia della tabella originale lasciando cadere la tabella originale e mettendola al suo posto.

Ci sono alcune informazioni aggiuntive qui che includono cose di cui dovresti essere a conoscenza.

Anche nella documentazione di MySQL . Vedi il commento di Dathan Pattishall del 25 maggio 2004 16:41 circa a metà pagina.

Anche se questo dovrebbe essere sicuro, dovresti prima fare e testare un backup.


2
Ciò produce esattamente gli stessi risultati dell'esecuzione OPTIMIZE TABLEsu una tabella InnoDB in MySQL.
Warner,


2

OPTIMIZE funziona per InnoDB. Almeno adesso. Questa è la documentazione 5.6:

Per le tabelle InnoDB, OPTIMIZE TABLE è mappato su ALTER TABLE, che ricostruisce la tabella per aggiornare le statistiche dell'indice e liberare spazio inutilizzato nell'indice cluster.

Leggi: ottimizza la tabella

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.