Accidentalmente ejecuté rápidamente una tabla de reparación en una nueva base de datos que no había configurado para registrarla rápidamente. myisam_max_sort_file_size, que era demasiado pequeño en comparación con el archivo .MID (que es 88279393280 byes large, aproximadamente 88 GB). El archivo de datos es 85GB. La tabla contiene 1.200 millones de registros, que constan de una identificación, dos fechas, un texto minúsculo, algunas letras grandes y un doble.Mi servidor (Linux virtual de 2 GB ejecutándose en un recuadro debajo de Windows 7) solo tiene un núcleo de los 4 en el servidor de Windows, pero está ejecutando 3+ GHZ. Temía que este evento de "reparación por llave" llevaría una eternidad, dado historias de terror con tablas mucho más pequeñas.
Afortunadamente "solo" tomó 1 día, 10 horas y 20.72 segundos para completar la operación rápida de la tabla de reparación.
Lo que más echo de menos es una forma de saber cuán lejos está la operación de mysql, y qué tan pronto podría terminar. Esto todavía es desconocido para mí.
Ahora he cambiado mi archivo my.ini y comprobé dos veces con df que tengo un amplio espacio de disco para esos archivos temporales de gran tamaño.
De todos modos ... mi punto principal, que podría ser un conocimiento muy útil para el siguiente tipo que cae en esta trampa ... es de hecho ... ¡no entres en pánico! puede ser lento, pero es posible en un hardware bastante inferior obtener 1 mil millones de registros resueltos dentro de un día o dos. Tiene tres índices, uno en un campo de fecha, uno en un campo de letra grande y uno principal en el campo ID.
Lo habría publicado como comentario de una de las soluciones, pero parece que no sé cómo hacerlo, con la interfaz de usuario aquí, así que lo dejaré como una solución. No me voten, es solo una nota que me hubiera encantado tener aquí, casi iba a matar mi hilo "ordenar por clave" ya que pensé que podría llevar una semana o más. 2 días por mil millones de registros es manejable.
Editar: Y ahora, una tabla de reparación en la misma base de datos, pero con una configuración lo suficientemente grande mysiam_max_sort_file_size tomó 10 horas, 20 minutos usando reparación por clasificación. La mayor parte del espacio de disco utilizado era de aproximadamente 250 GB, pero había establecido myisam_max_sort_file_size mucho más alto, lo que refleja la cantidad de espacio de disco realmente libre en el servidor.
El progreso del seguimiento es difícil. El espacio en disco subió y bajó mientras se creaban los índices individuales, pero hubo pausas de una hora en las que no se realizaron cambios. Reg. uso del espacio de disco (según lo informado por df).
Debe aceptar la respuesta de MarkR. – Sonny