mysql - tabelle - table does not support optimize, doing recreate+analyze instead




Che cosa causa la riparazione delle tabelle? (3)

Ci possono essere alcune ragioni per cui le tabelle vengono danneggiate, è discusso in dettaglio nel manuale .

Per combatterlo, le seguenti cose funzionano meglio:

  1. Assicurati sempre di spegnere MySQL correttamente
  2. Prendi in considerazione l'utilizzo dell'opzione --myisam-recover per controllare / riparare automaticamente le tue tabelle nel caso in cui l'arresto non sia stato eseguito correttamente
  3. Assicurati di essere nelle versioni più recenti poiché i noti bug di corruzione sono normalmente risolti al più presto
  4. Controlla il tuo hardware con un test per vedere se sta causando problemi. Strumenti come sysbench e memtest86 possono spesso aiutare a verificare se le cose funzionano come dovrebbero.
  5. Assicurati che nulla tocchi la directory dei dati esternamente, come antivirus, programmi di backup, ecc ...

Ogni tanto ricevo un errore nel dire che una delle mie tabelle "è contrassegnata come bloccata e dovrebbe essere riparata". Quindi eseguo un REPAIR TABLE e lo riparo. Che cosa li induce a essere contrassegnati come bloccati e come posso prevenirli? Sto usando le tabelle MyISAM con MySQL 5.0.45.


Di solito, accade quando il database non viene arrestato correttamente, come un crash del sistema o un problema hardware.


Ero solito ricevere errori da mysql proprio come te.

Ho risolto i miei problemi in questo modo

  1. Converti tutte le tabelle myisam in InnoDB (puoi cercare "myisam vs InnoDB" in .com e i motori di ricerca per scoprire perché)
  2. Per ottenere le migliori prestazioni da MySQL, utilizzare un programma di terze parti MONyog (MySQL Monitor and Advisor) e controllare i suggerimenti sulle prestazioni

Questi due passaggi mi hanno salvato. Spero che anche questi ti aiutino.







database