¿Qué significa si la consulta Mysql:
SHOW PROCESSLIST;
devuelve "Enviando datos" en la columna Estado?
Me imagino que significa que la consulta se ha ejecutado y MySQL está enviando datos de "resultados" al cliente, pero me pregunto por qué lleva tanto tiempo (hasta una hora).
Gracias.

Sending datacomo un paso que lleva tiempo después de correrSHOW PROFILE, el tiempo consumido en realidad pertenece al paso anterior.Sending datamuestra como tomar tiempo es porque es un error de creación de perfiles de MySQL, el tiempo que se muestra allí pertenece al paso anterior, que debería serExecuting queryo algo similar. Simplemente significa que su consulta toma tiempo para ejecutarse.Sending dataEl paso suele ser rápido, a menos que transmita cientos de megabytes de datos.Respuestas:
Este es un estado bastante engañoso. Debería llamarse "leer y filtrar datos".
Esto significa que
MySQLtiene algunos datos almacenados en el disco (o en la memoria) que aún no se han leído y enviado. Puede ser la tabla en sí, un índice, una tabla temporal, una salida ordenada, etc.Si tiene una tabla de registros de 1M (sin un índice) de la que necesita solo un registro,
MySQLseguirá mostrando el estado como "envío de datos" mientras escanea la tabla, a pesar de que todavía no ha enviado nada.fuente
En este estado:
Es por eso que lleva más tiempo completarlo y, por lo tanto, es el estado de ejecución más larga durante la vida útil de una consulta determinada.
fuente