Ho accidentalmente eseguito una tabella di riparazione rapidamente su un nuovo database che non avevo impostato per essere veloce reg. myisam_max_sort_file_size che era troppo piccolo rispetto al file .MID (che è 88279393280 grande, circa 88 GB). Il file di dati è 85 GB. La tabella è di 1,2 miliardi di record, composta da un ID, due date, un tinytext, alcuni bigints e un double.Il mio server (2GB di Linux virtuale in esecuzione in una casella sotto windows7) ha solo un core dei 4 sul server Windows, ma è in esecuzione 3+ GHZ. Temevo che questo evento "riparazione da keycache" sarebbe durato per sempre - date storie dell'orrore con tavoli molto più piccoli.
Fortunatamente "solo" sono stati necessari 1 giorno, 10 ore e 20,72 secondi per completare l'operazione rapida della tabella di riparazione.
Quello che mi manca di più è un modo per sapere fino a che punto l'operazione è mysql e quanto presto potrebbe essere finita. Questo è ancora sconosciuto per me.
Ora ho cambiato il mio file my.ini e ho ricontrollato con df che ho un ampio spazio su disco per quei file temporanei di grandi dimensioni.
In ogni caso .. il mio punto principale, che potrebbe essere una conoscenza molto utile per il prossimo ragazzo che cade in questa trappola .. è in effetti ... non fatevi prendere dal panico! potrebbe essere lento, ma è possibile su hardware piuttosto sub-par per ottenere 1+ miliardi di record risolti entro un giorno o due. Ottenuto tre indici, uno su un campo data, uno su un campo bigint e uno primario sul campo ID.
Avrei postato questo come commento a una delle soluzioni, ma non riesco a capire come farlo, con l'interfaccia utente qui, quindi lo lascerò cadere come soluzione. Non mi invitare, è solo una nota che avrei voluto avere qui, stavo quasi per uccidere il mio thread "ordina per keycache" come pensavo potesse richiedere una settimana o più. 2 giorni per miliardo di record è gestibile ..
Modifica: E ora, una tabella di riparazione sullo stesso database, ma con un'impostazione mysiam_max_sort_file_size abbastanza grande ha impiegato 10 ore e 20 minuti utilizzando la riparazione ordinando. La maggior parte dello spazio su disco utilizzato era di circa 250 GB, ma avevo impostato myisam_max_sort_file_size molto più in alto, riflettendo la quantità di spazio su disco effettivamente disponibile sul server.
Il monitoraggio è difficile. Lo spazio su disco è andato su e giù mentre i singoli indici sono stati costruiti, ma ci sono state pause di un'ora in cui non sono state apportate modifiche. utilizzo dello spazio su disco (come riportato da df).
È necessario accettare la risposta di MarkR. – Sonny