Búsqueda de sitios web

Estadísticas de consultas en MySQL


Las estadísticas importantes recopiladas para una consulta realizada, incluido el tiempo, tablas temporales, índices, uniones y más, se recopilan en la pestaña de resultados del editor SQL de Estadísticas de consulta (consulte las dos figuras siguientes).

Requisitos

  • Consulta habilitada y recopilación de estadísticas del esquema de rendimiento.

  • Performance_schema tiene habilitada la instrumentación de declaraciones.

Editor SQL: estadísticas de consultas

Plan de explicación visual

Al utilizar los datos adicionales incluidos en el formato JSON mejorado, la función de explicación visual crea y presenta una representación visual de la declaración EXPLAIN de MySQL. Todos los formatos EXPLAIN, incluido el formato estándar, el JSON extendido sin formato y el plan de consulta visual, están disponibles en MySQL Workbench para consultas ejecutadas.

Demostrar visualmente el uso

Ejecute su consulta en el editor SQL, luego elija Proceso de ejecución en el menú de resultados de la consulta para recibir una explicación visual del plan de ejecución. El plan de ejecución contiene una vista de explicación tabular que se parece a lo que ve cuando ejecuta EXPLAIN en el cliente MySQL además de la vista de explicación visual, que es la predeterminada. Consulte Optimización de consultas con EXPLAIN para obtener detalles sobre cómo MySQL ejecuta declaraciones.

Convenciones de explicación visual

Un diagrama de explicación visual debe leerse de abajo hacia arriba y de izquierda a derecha. En los ejemplos de diagramas que siguen se ofrece una descripción general de las convenciones gráficas, textuales e informativas utilizadas para representar diversos elementos de los planes de explicación visual. Para obtener más detalles, consulte:

  • Estándares gráficos

  • Convenciones informativas y textuales

El diagrama de explicación visual de la primera figura proporciona una descripción visual de la siguiente consulta.

select  * FROM employee_table

Un ejemplo de explicación visual

Convenciones gráficas

  • Cajas Estándar: mesas

  • Cajas redondeadas: operaciones como GROUP y ORDENAR

  • Cuadros enmarcados: subconsultas

  • Diamantes: se une

Convenciones textuales e informativas

  • Texto estándar debajo de los cuadros: nombre de la tabla (o alias)

  • Texto en negrita debajo de los cuadros: clave/índice que se utilizó

  • Número en la parte superior derecha de un cuadro: número de filas utilizadas de la tabla después del filtrado

  • Número en la parte superior izquierda de un cuadro: costo relativo de acceder a esa tabla (requiere MySQL 5.7 o superior)

  • Número a la derecha de los diamantes del bucle anidado (o unión hash): número de filas producidas por JOIN

  • Número encima de los diamantes: coste relativo del JOIN (requiere MySQL 5.7 o superior)

La siguiente tabla muestra los colores asociados y las descripciones utilizadas en el diagrama de explicación visual. Para obtener más información sobre estimaciones de costos, consulte El modelo de costos del optimizador.

Información del diagrama de explicación visual

System Name

Color

Text on Visual Diagram

Tooltip Related Information

SYSTEM

Blue

Single row: system constant

Very low cost

CONST

Blue

Single row: constant

Very low cost

EQ_REF

Green

Unique Key Lookup

Low cost -- The optimizer is able to find an index that it can use to retrieve the required records. It is fast because the index search directly leads to the page with all the row data

REF

Green

Non-Unique Key Lookup

Low-medium -- Low if the number of matching rows is small; higher as the number of rows increases

FULLTEXT

Yellow

Fulltext Index Search

Specialized FULLTEXT search. Low -- for this specialized search requirement

REF_OR_NULL

Green

Key Lookup + Fetch NULL Values

Low-medium -- if the number of matching rows is small; higher as the number of rows increases

INDEX_MERGE

Green

Index Merge

Medium -- look for a better index selection in the query to improve performance

UNIQUE_SUBQUERY

Orange

Unique Key Lookup into table of subquery

Low -- Used for efficient Subquery processing

INDEX_SUBQUERY

Orange

Non-Unique Key Lookup into table of subquery

Low -- Used for efficient Subquery processing

RANGE

Orange

Index Range Scan

Medium -- partial index scan

INDEX

Red

Full Index Scan

High -- especially for large indexes

ALL

Red

Full Table Scan

Very High − very costly for large tables, but less of an impact for small ones. No usable indexes were found for the table, which forces the optimizer to search every row. This could also mean that the search range is so broad that the index would be useless.

UNKNOWN

Black

unknown

Note: This is the default, in case a match cannot be determined

Conclusión

En este artículo, aprendimos cómo obtener estadísticas de consultas en MySQL Workbench y cuáles son sus diferentes características al mismo tiempo.