Analisar o Desempenho da Consulta
O ajuste de variáveis do servidor é feito para melhorar o desempenho de consultas. Embora uma análise profunda seja complexa, você pode usar o profiler de consultas integrado do MySQL para obter uma medição básica do tempo de execução de consultas. Neste passo, você criará uma tabela de teste, inserirá dados e analisará uma consulta simples.
Primeiro, conecte-se ao servidor MySQL.
sudo mysql -u root
Crie um novo banco de dados chamado testdb e mude para ele.
CREATE DATABASE IF NOT EXISTS testdb;
USE testdb;
Em seguida, crie uma tabela chamada employees para armazenar dados de exemplo.
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
department VARCHAR(50),
salary INT
);
Insira alguns registros na tabela employees.
INSERT INTO employees (name, department, salary) VALUES
('Alice', 'Sales', 60000),
('Bob', 'Engineering', 80000),
('Charlie', 'Sales', 65000),
('David', 'Marketing', 55000);
Agora, habilite o profiler de consultas para sua sessão. Isso registrará dados de desempenho para consultas subsequentes.
SET profiling = 1;
Execute uma consulta que você deseja analisar. Por exemplo, vamos encontrar todos os funcionários do departamento de 'Sales'.
SELECT * FROM employees WHERE department = 'Sales';
Para ver os resultados de desempenho, use o comando SHOW PROFILES. Isso lista as consultas que você executou desde que habilitou o profiling e suas durações.
SHOW PROFILES;
A saída será semelhante a esta, mostrando a duração de cada consulta em segundos.
+----------+------------+-------------------------------------------------------+
| Query_ID | Duration | Query |
+----------+------------+-------------------------------------------------------+
| 1 | 0.00038500 | SELECT * FROM employees WHERE department = 'Sales' |
+----------+------------+-------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
Esta coluna Duration fornece uma linha de base para o desempenho da consulta. Em um cenário do mundo real, você usaria esta ferramenta para comparar a velocidade das consultas antes e depois das alterações de configuração em conjuntos de dados muito maiores.
Você usou com sucesso o profiler para analisar uma consulta. Agora você pode sair do shell do MySQL.
exit;