sql >> Base de Datos >  >> RDS >> Mysql

Reduzca las consultas de MySQL a una consulta para acelerar

Ver si actualmente estoy capturando tráfico con el registro general:

SELECT @@general_log;   -- 1 if capturing, 0 if not
-- for me, a 1. This means I have been capturing (good for development. Poor idea for Production)

SELECT @@general_log_file; -- file name for General Log if capturing.
-- for me: GeneralLogBegin_20160803_1420.log

SELECT @@datadir; -- the location of the general_log, and other logs
-- for me: C:\ProgramData\MySQL\MySQL Server 5.6\Data\

Ahora desactivo la captura del registro general a continuación, porque el mío estaba capturando:

SET GLOBAL general_log=0; -- stop logging

MUEVO mi archivo de registro a un directorio de copia de seguridad y le cambio el nombre a GL_from_20160803_1420_to_20160806_1559

Hay poca ambigüedad en el contenido y el rango de fecha y hora de la captura que incorpora el archivo anterior.

Establezca el nuevo nombre para la captura del archivo de registro (segmento de inicio para nombre de archivo)

SET GLOBAL general_log_file='GeneralLogBegin_20160806_1559.log';
SET GLOBAL general_log=1; -- Start logging again

Ejecute una aplicación mía que se conecta al servidor y el registro general contiene:

Fragmento A:

160806 16:08:37   170 Connect   [email protected] on stackoverflow
          170 Query SHOW VARIABLES
          170 Query SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP())
          170 Query SHOW COLLATION
          170 Query SET NAMES latin1
          170 Query SET character_set_results=NULL
          170 Init DB   my_db_name

Nota:es posible que deba hacer

mysqladmin -u root -p flush-log

(se le solicita la contraseña) para vaciar los registros del caché al archivo. Por cierto, Sublime Text es increíble para la actualización automática de un archivo de texto cargado actualmente. Por ejemplo, un archivo de registro.

Así que mi ChunkA arriba está el trozo de conexión de una nueva conexión entrante. Es impulsado por los comandos del programa en uso, cualquiera que sea. Es anterior a los comandos de su programa a los que está acostumbrado y codifica. Si está continuamente creando nuevas conexiones, ejecutando el código que escribe y desconectándose, bueno, todo esto es parte del equipaje. No tienes el control de optimizarlos de una manera simple.

Lo que debería considerar hacer es desactivar el registro de consulta general en un entorno de producción. Y solo habilitándolo durante la configuración del entorno de depuración y prueba. Tenerlo activado aumenta la carga innecesaria en tu pila.