Ho un database MySQL con una tabella MyISAM con 4 milioni di righe. Aggiorno questa tabella circa una volta alla settimana con circa 2000 nuove righe. Dopo l'aggiornamento, ho quindi modificare la tabella in questo modo:MySQL ALTER TABLE su un tavolo molto grande - è sicuro farlo funzionare?
ALTER TABLE x ORDER BY PK DESC
posso ordinare la tabella per il campo chiave primaria in ordine decrescente. Questo non mi ha dato alcun problema sulla mia macchina di sviluppo (Windows con memoria da 3 GB). Tre volte l'ho provato con successo sul server Linux di produzione (con 512 MB di RAM - e ottenendo la tabella ordinata risultante in circa 6 minuti ogni volta), l'ultima volta che l'ho provato ho dovuto interrompere la query dopo circa 30 minuti e ricostruire il database da un backup.
Un server da 512 MB può far fronte a tale alter statement su un tavolo così grande? Ho letto che una tabella temporanea viene creata per eseguire il comando ALTER TABLE.
Domanda: questo comando di modifica può essere eseguito in sicurezza? Quale dovrebbe essere il tempo previsto per l'alterazione del tavolo?
Penso che "Tavolo molto grande" sia probabilmente un'esagerazione. 4M righe non è una tabella molto grande. 1bn potrebbe essere. – MarkR