2012-02-24 16 views
51

Estoy usando MySQL workbench: ¿cuál es la diferencia entre la duración y los tiempos de recuperación cuando se ejecuta una consulta?duración y tiempo de recuperación de mysql

¿Existe alguna forma de habilitar la opción de microsegundo en MySQL?

+0

Strange bounty. Todas las respuestas son correctas pero no las crees? [Aquí] (http://forums.mysql.com/read.php?152,560430,560470#msg-560470) y [aquí] (http://forums.mysql.com/read.php?152,560430 , 560610 # msg-560610) son exactamente las mismas respuestas de Mike Lischke, que trabaja para Oracle, en el foro de MySQL. Lo suficientemente creíble? –

Respuesta

87

Fetch tiempo - medidas de cuánto tiempo la transferencia de resultados inverosímiles toman, que no tiene nada para hacer con la ejecución de consultas. No lo consideraría como la opción de depuración/optimización de consultas SQL, ya que el tiempo de recuperación depende de la conexión de red, que en sí no tiene nada que ver con la optimización de consultas. Si el tiempo de recuperación es un cuello de botella, es más probable que haya algún problema de red.

Nota: el tiempo de recuperación puede variar en cada ejecución de consulta.

Tiempo de duración - es el momento en que se debe ejecutar la consulta. Debe intentar minimizarlo al optimizar el rendimiento de la consulta SQL.

Reference

+3

Para fines de optimización, recuerde que la opción 'query_cache_type' debe estar' OFF ', para que el resultado no se vea afectado por la caché. Ver http://stackoverflow.com/questions/181894/mysql-force-not-to-use-cache-for-testing-speed-of-query – dellasavia

+3

Aunque estoy de acuerdo con que ** duration ** es el valor que generalmente deseas para optimizar, ya que se relaciona directamente con la eficiencia de su consulta, el tiempo inusualmente alto ** fetch ** también puede señalar importantes errores lógicos y/o ineficiencias. Por ejemplo, podría estar transfiriendo grandes cantidades de texto con cada consulta que el cliente debería almacenar en caché. O podría estar devolviendo 100k filas cuando solo esperaba 10. – GrandOpener

+0

buen punto @GrandOpener - o podría estar seleccionando (*) cuando todo lo que realmente necesita es la identificación de la fila. –

13

Duración muestra el tiempo necesario para ejecutar la consulta a buscar es el tiempo necesario para leer el conjunto de resultados (recuperar los datos)

estoy seguro acerca de la opción de microsegundos. Si esto es respecto a la optimización, recuerde: "la optimización prematura es la raíz de todo mal"

0

Sobre el microsegundo, intente habilitarlo en el menú Preferencias, y también tengo una pregunta sobre la duración y el tiempo de recuperación , ahora parece que recibo la respuesta de que la duración es el tiempo de ejecución de la consulta, y la recuperación es recuperar el resultado y enviarlos a donde quieras. Por ejemplo, recibo una consulta cuyo tiempo de duración es 0.078 pero demorará 60 segundos para enviar los datos a mi sitio web.

0

El tiempo de ejecución es el tiempo dedicado a preparar la consulta y ejecutar la consulta y El ir a buscar el tiempo es tiempo tirando en la fila resulta

+0

Por favor, lea el mensaje que dejé en la recompensa. –

Cuestiones relacionadas