Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 13963|Respuesta: 0

[Fuente] MySQL utiliza el perfilado para analizar las razones de la ejecución lenta de las sentencias SQL

[Copiar enlace]
Publicado en 6/7/2017 11:12:17 | | | |

Un colega de CleverCode recomendó recientemente una herramienta para analizar sentencias SQL en MySQL, perfilado, y descubrió que esta herramienta es muy buena, que puede analizar con precisión el tiempo específico dedicado a las sentencias SQL durante el proceso de consulta. CleverCode lo resume aquí y lo comparte contigo.

1 Introducción

El Query Profiler de MySQL es una herramienta muy conveniente de análisis diagnóstico, a través de la cual puedes obtener el consumo de múltiples recursos en todo el proceso de ejecución de una consulta, como CPU, IO/S, IPC, SWAP, etc., así como la aparición de FALLOS DE PÁGINA, CONMUTACIÓN DE CONTEXTO, etc., y también obtener la ubicación de cada función llamada por MySQL en el archivo fuente durante la ejecución de la consulta.

MySQL versión 5.0.37 o posterior soporta la función de depuración PROFILING, que permite entender los detalles de los recursos consumidos por las sentencias SQL. Como requiere llamar a la función getrusage() del sistema, solo puede usarse en plataformas de clases Linux/Unix, no en Windows. Además, PROFILING es para procesar procesos en lugar de hilos, y otras aplicaciones en el servidor pueden afectar tus resultados de depuración, por lo que esta herramienta es adecuada para depurar durante el desarrollo, y si quieres depurar en un entorno de producción, debes prestar atención a sus limitaciones.

2 Operación

2.1 Comprueba si el perfil está activado, está desactivado por defecto.


2.2 Habilitar el perfilado. El perfilado de variables es una variable de usuario que debe volver a activarse cada vez.


2.3 Ejecutar las siguientes sentencias: Para evitar haber almacenado SQL previamente en QCACHE, se recomienda forzar que la instrucción SELECT no realice la detección de QCACHE al ejecutar SQL. Esto te permite presentar la precisión del análisis.


2.4 UsoConsulta de perfil de mostrarLa más recienteInformación de ejecución de la afirmación。 (Análisis: selecciona sql_no_cache cuenta(*) de system_user donde la edad > 20 años)




2.5 Usando perfiles de show. Consulta una lista de sentencias que se ejecutan en el servidor. (id de consulta, tiempo invertido, sentencia).




2.6 Utilizar el perfil de mostrar para consultar la información de ejecución del ID de la formulación. Aquí analizamos la declaración con ID 6. (Análisis: selecciona sql_no_cache conteo(*) de system_user donde la edad > 20).


2.7 Obtener CPU y bloquear el consumo de IO.




2.8 Obtención de información adicional. se puede obtener realizando "MOSTRAR PERFIL *** PARA CONSULTA n". Dirección de referencia: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.







Anterior:Un recién llegado informa
Próximo:¡Noticias de gran éxito! ¡El desarrollo de mini programas es gratis!
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com