2010-09-03 8 views
7

¿Hay alguna explicación de estos estados en algún lugar?profiler mysql "Envío de datos"

http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html

mi pregunta es específica en lo que respecta a esta consulta:

select count(*) 
from 135_5m.record_updates u, 135_5m.records r 
where r.record_id = u.record_id and 
    (u.date_updated > null or null is null) and 
    u.date_updated <= '2011-01-03'; 

que devuelve un único número - 4053904. Por lo tanto ¿por qué la mayoría de las veces se gastará en "Enviar datos"? ¿Está mal llamado? Seguramente, "Enviar datos" debe estar haciendo más que solo enviar datos.

+--------------------------------+-----------+-------+ 
| Status       | Duration | Swaps | 
+--------------------------------+-----------+-------+ 
| starting      | 0.000224 |  0 | 
| checking query cache for query | 0.000188 |  0 | 
| checking permissions   | 0.000012 |  0 | 
| checking permissions   | 0.000017 |  0 | 
| Opening tables     | 0.000036 |  0 | 
| System lock     | 0.000015 |  0 | 
| Table lock      | 0.000067 |  0 | 
| init       | 0.000105 |  0 | 
| optimizing      | 0.000052 |  0 | 
| statistics      | 0.000254 |  0 | 
| preparing      | 0.000061 |  0 | 
| executing      | 0.000017 |  0 | 
| Sending data     | 32.079549 |  0 | 
| end       | 0.000036 |  0 | 
| query end      | 0.000012 |  0 | 
| freeing items     | 0.000089 |  0 | 
| storing result in query cache | 0.000022 |  0 | 
| logging slow query    | 0.000008 |  0 | 
| logging slow query    | 0.000008 |  0 | 
| cleaning up     | 0.000011 |  0 | 
+--------------------------------+-----------+-------+ 
+0

Fuera de tema, pero ¿cuál es el propósito de este bit 'u.date_updated> nula o null es nulo'? Sin duda, siempre es cierto? –

+1

la consulta es originalmente un estado preparado en código java. Reemplacé el? en mi código con valores reales para probar el rendimiento. – andersonbd1

Respuesta

0

antes de enviar los datos al cliente, MySQL necesita leer los datos, la fase de lectura de datos puede tomar el tiempo majrity de "envío de datos"