{"id":2807,"date":"2026-09-10T18:04:09","date_gmt":"2026-09-10T21:04:09","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/"},"modified":"2026-09-10T18:04:09","modified_gmt":"2026-09-10T21:04:09","slug":"aula-22-performance-tuning-explain-slow-query-log-e-otimizac","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/","title":{"rendered":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o"},"content":{"rendered":"<p>A <strong>performance tuning<\/strong> em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando <strong>EXPLAIN<\/strong>, o <strong>slow query log<\/strong> e t\u00e9cnicas pr\u00e1ticas de otimiza\u00e7\u00e3o de consultas e estrutura. Esta \u00e9 a Aula 22 do curso <strong>MySQL \u2014 Do Zero ao Avan\u00e7ado<\/strong>, um conte\u00fado pensado para profissionais de TI, analistas de infraestrutura, desenvolvedores backend, administradores de sistemas e entusiastas de seguran\u00e7a da informa\u00e7\u00e3o que precisam extrair o m\u00e1ximo do MySQL em produ\u00e7\u00e3o. Em nossos projetos na JRT Technology Solutions, lidamos diariamente com bases de dados que precisam responder em milissegundos para milhares de usu\u00e1rios simult\u00e2neos. O que voc\u00ea aprender\u00e1 aqui \u00e9 exatamente o tipo de conhecimento que aplicamos para reduzir o tempo de resposta de consultas, diminuir o consumo de CPU e I\/O e evitar degrada\u00e7\u00e3o em momentos de pico.<\/p>\n<p>Muitas vezes, a causa de uma aplica\u00e7\u00e3o lenta n\u00e3o est\u00e1 no c\u00f3digo da aplica\u00e7\u00e3o, mas na forma como o MySQL executa as instru\u00e7\u00f5es SQL. Uma consulta mal planejada pode varrer milh\u00f5es de linhas desnecessariamente, gerar ordena\u00e7\u00f5es caras em disco e consumir toda a mem\u00f3ria dispon\u00edvel para buffers. O <strong>performance tuning<\/strong> ataca exatamente isso: por meio da an\u00e1lise do plano de execu\u00e7\u00e3o, da captura de consultas lentas e da aplica\u00e7\u00e3o de \u00edndices, reescrita de SQL e ajuste de par\u00e2metros, voc\u00ea consegue transformar uma consulta que levava v\u00e1rios segundos em uma opera\u00e7\u00e3o que retorna em poucos milissegundos. Ao final desta aula, voc\u00ea ter\u00e1 autonomia para auditar uma inst\u00e2ncia MySQL, identificar as consultas problem\u00e1ticas, entender o motivo da lentid\u00e3o e aplicar corre\u00e7\u00f5es comprovadas, sem depender de achismos.<\/p>\n<p>O foco desta aula \u00e9 100% pr\u00e1tico. Voc\u00ea vai criar uma base de dados de exemplo com dezenas de milhares de registros, executar consultas que propositalmente sofrem com falta de \u00edndices, interpretar o <strong>EXPLAIN<\/strong> tradicional e o <strong>EXPLAIN ANALYZE<\/strong>, ativar o <strong>slow query log<\/strong> em servidores Ubuntu\/Debian e CentOS\/RHEL\/Rocky Linux, utilizar ferramentas como <strong>mysqldumpslow<\/strong> e <strong>pt-query-digest<\/strong> e aplicar otimiza\u00e7\u00f5es reais com \u00edndices compostos e reescrita de SQL. Cada comando ser\u00e1 mostrado de forma completa, com sua sa\u00edda esperada e explica\u00e7\u00e3o linha a linha. N\u00e3o haver\u00e1 atalhos ou resumos que deixem lacunas: se voc\u00ea executar os passos na ordem apresentada, os resultados ser\u00e3o reproduz\u00edveis.<\/p>\n<p>Para aproveitar 100% desta aula, voc\u00ea j\u00e1 deve ter conclu\u00eddo as aulas anteriores do curso, especialmente aquelas sobre modelagem de dados, \u00edndices b\u00e1sicos, stored procedures e administra\u00e7\u00e3o de inst\u00e2ncias. Ter um ambiente MySQL 8.0 local ou em m\u00e1quina virtual com acesso root ou sudo \u00e9 essencial, pois realizaremos altera\u00e7\u00f5es em arquivos de configura\u00e7\u00e3o e reiniciaremos o servi\u00e7o do banco. Recomendamos tamb\u00e9m ter pelo menos 2 GB de RAM livres na m\u00e1quina, pois os testes de <strong>performance tuning<\/strong> envolvem a cria\u00e7\u00e3o de tabelas com um volume consider\u00e1vel de dados. Se voc\u00ea est\u00e1 no Windows, pode usar uma m\u00e1quina virtual com Ubuntu Server 22.04 ou 24.04; os comandos para CentOS\/Rocky Linux tamb\u00e9m ser\u00e3o apresentados, pois s\u00e3o ambientes comuns em servidores corporativos.<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Compreender os fundamentos do <strong>performance tuning<\/strong> no MySQL e o papel do otimizador de consultas, das estat\u00edsticas e do storage engine InnoDB.<\/li>\n<li>Criar bases de dados de teste com milhares ou centenas de milhares de registros utilizando <strong>Common Table Expressions recursivas<\/strong> no MySQL 8.0.<\/li>\n<li>Utilizar o comando <strong>EXPLAIN<\/strong> nos formatos <strong>TRADITIONAL<\/strong>, <strong>JSON<\/strong> e <strong>TREE<\/strong> para inspecionar planos de execu\u00e7\u00e3o e detectar full table scans, filesorts e sele\u00e7\u00f5es ineficientes.<\/li>\n<li>Utilizar o <strong>EXPLAIN ANALYZE<\/strong> para obter m\u00e9tricas reais de execu\u00e7\u00e3o, como tempo, n\u00famero de linhas retornadas e n\u00famero de loops.<\/li>\n<li>Ativar e configurar o <strong>slow query log<\/strong> de forma completa, incluindo par\u00e2metros como <strong>long_query_time<\/strong>, <strong>min_examined_row_limit<\/strong> e <strong>log_queries_not_using_indexes<\/strong>.<\/li>\n<li>Instalar e usar ferramentas de an\u00e1lise de logs lentos, como <strong>mysqldumpslow<\/strong> e <strong>pt-query-digest<\/strong>, em distribui\u00e7\u00f5es Linux baseadas em Debian e Red Hat.<\/li>\n<li>Criar \u00edndices simples e compostos com base nos sinais fornecidos pelo <strong>EXPLAIN<\/strong> e pelo <strong>slow query log<\/strong>, reduzindo drasticamente o n\u00famero de linhas examinadas.<\/li>\n<li>Reescrever consultas SQL problem\u00e1ticas, aplicar boas pr\u00e1ticas de filtragem e ordena\u00e7\u00e3o e monitorar os resultados de forma objetiva.<\/li>\n<\/ul>\n<h3>Pr\u00e9-requisitos e Ambiente<\/h3>\n<p>Antes de come\u00e7ar, verifique se o seu ambiente atende aos seguintes requisitos. A aula foi testada em MySQL 8.0.36 no Ubuntu Server 24.04, em MySQL 8.0.34 no CentOS Stream 9 e em MySQL 8.0.32 no Rocky Linux 9.3. Se voc\u00ea estiver usando uma vers\u00e3o 5.7, os conceitos continuam v\u00e1lidos, mas alguns par\u00e2metros, como <strong>log_slow_extra<\/strong>, n\u00e3o existem nessa vers\u00e3o; adapte os trechos de configura\u00e7\u00e3o conforme indicado.<\/p>\n<ul>\n<li>MySQL Server 8.0 instalado e em execu\u00e7\u00e3o. Caso ainda n\u00e3o tenha instalado, revise a aula de instala\u00e7\u00e3o do curso.<\/li>\n<li>Acesso ao terminal do servidor com privil\u00e9gios de <strong>sudo<\/strong> ou <strong>root<\/strong>, pois vamos editar arquivos em <strong>\/etc<\/strong> e reiniciar o servi\u00e7o <strong>mysql<\/strong> ou <strong>mysqld<\/strong>.<\/li>\n<li>Cliente de linha de comando <strong>mysql<\/strong> instalado, normalmente j\u00e1 incluso no servidor.<\/li>\n<li>Um usu\u00e1rio no MySQL com privil\u00e9gios para criar bancos de dados, tabelas e \u00edndices, como o <strong>root<\/strong> ou um usu\u00e1rio administrativo.<\/li>\n<li>Pelo menos 2 GB de RAM livres para os testes com InnoDB e <strong>innodb_buffer_pool_size<\/strong>. Se sua m\u00e1quina tiver pouca mem\u00f3ria, ajuste os valores indicados para n\u00e3o comprometer o sistema.<\/li>\n<li>Editor de texto de sua prefer\u00eancia: <strong>nano<\/strong>, <strong>vim<\/strong> ou <strong>vi<\/strong>.<\/li>\n<\/ul>\n<p>O procedimento de configura\u00e7\u00e3o ser\u00e1 mostrado para duas fam\u00edlias de sistemas operacionais. Em distribui\u00e7\u00f5es <strong>Ubuntu\/Debian<\/strong>, o arquivo principal de configura\u00e7\u00e3o do MySQL \u00e9 <strong>\/etc\/mysql\/mysql.conf.d\/mysqld.cnf<\/strong>, e o servi\u00e7o \u00e9 gerenciado pelo <strong>systemctl<\/strong> com o nome <strong>mysql<\/strong>. Em distribui\u00e7\u00f5es <strong>CentOS\/RHEL\/Rocky Linux<\/strong>, o arquivo principal \u00e9 <strong>\/etc\/my.cnf<\/strong>, e o servi\u00e7o \u00e9 gerenciado pelo <strong>systemctl<\/strong> com o nome <strong>mysqld<\/strong>. Essa diferen\u00e7a de nomes \u00e9 uma fonte comum de erros quando se administra ambientes heterog\u00eaneos, portanto preste aten\u00e7\u00e3o em cada bloco de comandos.<\/p>\n<h3>Fundamentos do Performance Tuning no MySQL<\/h3>\n<p>Antes de partir para a execu\u00e7\u00e3o de comandos, \u00e9 necess\u00e1rio compreender como o MySQL decide o caminho de acesso aos dados. Quando voc\u00ea envia uma instru\u00e7\u00e3o <strong>SELECT<\/strong>, o servidor a analisa sintaticamente, valida as refer\u00eancias a tabelas e colunas, aplica regras de escopo e, em seguida, entrega a consulta ao <strong>otimizador<\/strong>. O otimizador gera v\u00e1rios planos de execu\u00e7\u00e3o poss\u00edveis, estima o custo de cada um com base em estat\u00edsticas armazenadas no dicion\u00e1rio de dados e escolhe o plano de menor custo estimado. Esse custo \u00e9 calculado principalmente a partir do n\u00famero de linhas que precisam ser examinadas, do uso de \u00edndices, do custo de CPU, de mem\u00f3ria tempor\u00e1ria e de I\/O. Se as estat\u00edsticas estiverem desatualizadas ou se os \u00edndices forem inadequados, o otimizador pode tomar decis\u00f5es ruins, e a consulta passar\u00e1 a varrer tabelas inteiras quando poderia acessar poucas linhas por um \u00edndice.<\/p>\n<p>O <strong>performance tuning<\/strong> no MySQL come\u00e7a justamente pela an\u00e1lise do plano de execu\u00e7\u00e3o escolhido pelo otimizador. O comando <strong>EXPLAIN<\/strong> permite visualizar esse plano sem executar a consulta, mostrando em quais tabelas o otimizador pretende acessar, qual \u00edndice ser\u00e1 usado, quantas linhas ele estima examinar e quais opera\u00e7\u00f5es extras, como ordena\u00e7\u00e3o tempor\u00e1ria, agrupamentos e jun\u00e7\u00f5es, ser\u00e3o necess\u00e1rias. Com essa informa\u00e7\u00e3o, voc\u00ea pode decidir se a consulta est\u00e1 boa ou se precisa de um novo \u00edndice, de reescrita ou de ajuste no banco. O complemento natural \u00e9 o <strong>slow query log<\/strong>, que registra as consultas que realmente est\u00e3o consumindo tempo e recursos em produ\u00e7\u00e3o. Ele fornece o ponto de partida real: em vez de adivinhar qual consulta est\u00e1 lenta, voc\u00ea captura provas objetivas. Em nossos projetos na JRT Technology Solutions, utilizamos sempre a combina\u00e7\u00e3o <strong>slow query log<\/strong> + <strong>EXPLAIN<\/strong> para priorizar esfor\u00e7os de otimiza\u00e7\u00e3o, pois conserta-se primeiro aquilo que tem maior impacto mensur\u00e1vel.<\/p>\n<p>Outro conceito fundamental \u00e9 o papel do <strong>InnoDB<\/strong>, o storage engine padr\u00e3o do MySQL. O InnoDB organiza os dados em p\u00e1ginas de 16 KB, usa <strong>B-trees<\/strong> para \u00edndices prim\u00e1rios e secund\u00e1rios, e mant\u00e9m em mem\u00f3ria um <strong>buffer pool<\/strong> que armazena p\u00e1ginas de dados e \u00edndices. Quando uma consulta precisa acessar linhas que j\u00e1 est\u00e3o nesse cache, o custo de leitura \u00e9 muito menor. O tamanho do <strong>innodb_buffer_pool_size<\/strong> deve ser, como regra geral, cerca de 50% a 70% da mem\u00f3ria RAM dispon\u00edvel em servidores dedicados. Se esse buffer for pequeno, o MySQL ser\u00e1 obrigado a fazer mais leituras em disco, e qualquer consulta ficar\u00e1 mais lenta. Al\u00e9m disso, par\u00e2metros como <strong>innodb_flush_log_at_trx_commit<\/strong> e <strong>innodb_log_file_size<\/strong> influenciam a durabilidade e a velocidade de grava\u00e7\u00e3o de logs. Ajustar esses valores sem entender o impacto \u00e9 perigoso, mas nesta aula mostraremos uma configura\u00e7\u00e3o segura e revisada para um servidor de aplica\u00e7\u00e3o t\u00edpico.<\/p>\n<p>O <strong>performance tuning<\/strong> tamb\u00e9m envolve monitoramento cont\u00ednuo. N\u00e3o basta aplicar uma otimiza\u00e7\u00e3o pontual e abandonar o banco. O MySQL oferece o <strong>Performance Schema<\/strong>, uma s\u00e9rie de tabelas que registram m\u00e9tricas detalhadas de execu\u00e7\u00e3o, espera por locks, uso de mem\u00f3ria, est\u00e1gios de execu\u00e7\u00e3o e muito mais. No contexto desta aula, o <strong>slow query log<\/strong> e o <strong>EXPLAIN<\/strong> ser\u00e3o os protagonistas, mas o <strong>Performance Schema<\/strong> aparece como suporte para confirma\u00e7\u00e3o e an\u00e1lise mais profunda. Ao final, voc\u00ea entender\u00e1 que <strong>performance tuning<\/strong> \u00e9 um ciclo: medir, diagnosticar, alterar, medir novamente e documentar os ganhos.<\/p>\n<h3>Passo a Passo: Criando a Base de Dados para Testes de Performance Tuning<\/h3>\n<p>Para demonstrar as t\u00e9cnicas de <strong>performance tuning<\/strong> de forma did\u00e1tica e realista, vamos criar uma base de dados chamada <strong>tuning_demo<\/strong>, com duas tabelas: <strong>clientes<\/strong> e <strong>pedidos<\/strong>. A tabela <strong>pedidos<\/strong> ter\u00e1 um volume consider\u00e1vel de dados \u2014 100.000 linhas \u2014 para que a diferen\u00e7a entre uma consulta sem \u00edndice e uma consulta otimizada seja percept\u00edvel n\u00e3o apenas no plano de execu\u00e7\u00e3o, mas tamb\u00e9m no tempo real de resposta. A cria\u00e7\u00e3o de dados em massa no MySQL 8.0 pode ser feita de diversas formas; utilizaremos <strong>Common Table Expressions recursivas<\/strong>, que geram uma sequ\u00eancia num\u00e9rica de 1 a 100.000 sem depender de tabelas externas.<\/p>\n<ol>\n<li>Conecte-se ao MySQL como usu\u00e1rio administrativo. Se estiver em um servidor local, execute <strong>sudo mysql -u root -p<\/strong> e informe a senha de root. Em seguida, crie o banco de dados com o conjunto de caracteres <strong>utf8mb4<\/strong> e a collation <strong>utf8mb4_unicode_ci<\/strong>, recomendada para aplica\u00e7\u00f5es modernas com suporte a caracteres internacionais.<\/li>\n<li>Selecione o banco de dados <strong>tuning_demo<\/strong> para que todos os comandos subsequentes sejam executados nele.<\/li>\n<li>Crie a tabela <strong>clientes<\/strong> com uma chave prim\u00e1ria <strong>id<\/strong>, al\u00e9m de colunas para nome, e-mail, cidade, unidade federativa e data de cria\u00e7\u00e3o. A chave prim\u00e1ria ser\u00e1 um \u00edndice <strong>clustered<\/strong> no InnoDB.<\/li>\n<li>Crie a tabela <strong>pedidos<\/strong> com a chave prim\u00e1ria <strong>id<\/strong>, uma coluna <strong>cliente_id<\/strong> que referencia logicamente a tabela <strong>clientes<\/strong>, colunas <strong>produto_id<\/strong>, <strong>data_pedido<\/strong>, <strong>valor<\/strong> e <strong>status<\/strong>. Inclua um \u00edndice simples em <strong>cliente_id<\/strong> e outro em <strong>data_pedido<\/strong> para simular um cen\u00e1rio inicial parcialmente otimizado, mas ainda longe do ideal para consultas anal\u00edticas.<\/li>\n<li>Ajuste a vari\u00e1vel de sess\u00e3o <strong>cte_max_recursion_depth<\/strong> para 100000, pois o valor padr\u00e3o em MySQL 8.0 \u00e9 1000 e impede que a CTE recursiva gere 100.000 linhas.<\/li>\n<li>Insira 1.000 clientes na tabela <strong>clientes<\/strong> usando uma CTE recursiva que gera n\u00fameros de 1 a 1000. Para cada n\u00famero, geramos um nome, um e-mail, uma cidade e uma UF com a fun\u00e7\u00e3o <strong>ELT<\/strong>, que retorna um elemento de uma lista com base no \u00edndice. Isso cria dados variados sem depender de scripts externos.<\/li>\n<li>Insira 100.000 pedidos na tabela <strong>pedidos<\/strong> usando uma CTE recursiva de 1 a 100000. Os valores de <strong>cliente_id<\/strong>, <strong>produto_id<\/strong>, <strong>data_pedido<\/strong>, <strong>valor<\/strong> e <strong>status<\/strong> s\u00e3o gerados aleatoriamente com <strong>RAND()<\/strong>, <strong>FLOOR()<\/strong> e <strong>DATE_SUB<\/strong>, cobrindo um per\u00edodo de 365 dias e diversos status.<\/li>\n<\/ol>\n<pre><code># Conex\u00e3o ao MySQL<br \/>\nsudo mysql -u root -p<\/p>\n<p># Dentro do prompt do MySQL, execute os comandos:<br \/>\nCREATE DATABASE tuning_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;<br \/>\nUSE tuning_demo;<\/p>\n<p>CREATE TABLE clientes (<br \/>\n  id INT PRIMARY KEY AUTO_INCREMENT,<br \/>\n  nome VARCHAR(100),<br \/>\n  email VARCHAR(100),<br \/>\n  cidade VARCHAR(80),<br \/>\n  uf CHAR(2),<br \/>\n  criado_em DATETIME DEFAULT CURRENT_TIMESTAMP<br \/>\n) ENGINE=InnoDB;<\/p>\n<p>CREATE TABLE pedidos (<br \/>\n  id INT PRIMARY KEY AUTO_INCREMENT,<br \/>\n  cliente_id INT,<br \/>\n  produto_id INT,<br \/>\n  data_pedido DATE,<br \/>\n  valor DECIMAL(10,2),<br \/>\n  status VARCHAR(20),<br \/>\n  INDEX idx_cliente (cliente_id),<br \/>\n  INDEX idx_data (data_pedido)<br \/>\n) ENGINE=InnoDB;<\/p>\n<p># Necess\u00e1rio para gerar 100.000 linhas com CTE recursiva<br \/>\nSET SESSION cte_max_recursion_depth = 100000;<\/p>\n<p># Inser\u00e7\u00e3o de 1.000 clientes<br \/>\nINSERT INTO clientes (nome, email, cidade, uf)<br \/>\nWITH RECURSIVE seq AS (<br \/>\n  SELECT 1 AS n<br \/>\n  UNION ALL<br \/>\n  SELECT n + 1 FROM seq WHERE n &lt; 1000<br \/>\n)<br \/>\nSELECT<br \/>\n  CONCAT('Cliente ',<\/p>\n<div style=\"margin:52px 0 40px;padding:36px 28px;background:linear-gradient(135deg,#0f172a 0%,#1a2744 100%);border:2px solid #25D366;border-radius:18px;text-align:center;box-shadow:0 4px 28px rgba(37,211,102,0.18)\">\n<p style=\"margin:0 0 10px;font-size:18px;color:#ffffff;font-weight:700;line-height:1.4\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 28px;font-size:15px;color:#94a3b8;font-weight:400;line-height:1.6\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de MySQL para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1!%20Tenho%20interesse%20no%20treinamento%20de%20MySQL.&#038;type=phone_number&#038;app_absent=0\"\n     target=\"_blank\" rel=\"noopener noreferrer\"\n     style=\"display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:700;padding:15px 32px;border-radius:100px;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,0.45);letter-spacing:0.01em\"><br \/>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"#ffffff\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de &#8230; <a title=\"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o\" class=\"read-more\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/\" aria-label=\"Read more about Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o\">Ler mais<\/a><\/p>\n","protected":false},"author":1,"featured_media":2806,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"iawp_total_views":0,"footnotes":""},"categories":[75],"tags":[3443],"class_list":["post-2807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-mysql-do-zero-ao-avancado-performance-tuning-explain-slow-query-log-e-otimizacao"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Thiago Paes Rodrigues\"\/>\n\t<meta name=\"google-site-verification\" content=\"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_BR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta property=\"og:description\" content=\"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"100\" \/>\n\t\t<meta property=\"og:image:height\" content=\"75\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-09-10T21:04:09+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-10T21:04:09+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61590814880509\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions\" \/>\n\t\t<meta name=\"twitter:description\" content=\"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#blogposting\",\"name\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o - BLOG - JRT Technology Solutions\",\"headline\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o\",\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/ai-image-1789074237461.jpg\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o\"},\"datePublished\":\"2026-09-10T18:04:09-03:00\",\"dateModified\":\"2026-09-10T18:04:09-03:00\",\"inLanguage\":\"pt-BR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#webpage\"},\"articleSection\":\"DevOps, MySQL \\u2014 Do Zero ao Avan\\u00e7ado: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/devops\\\/#listItem\",\"name\":\"DevOps\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/devops\\\/#listItem\",\"position\":2,\"name\":\"DevOps\",\"item\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/devops\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#listItem\",\"name\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#listItem\",\"position\":3,\"name\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/category\\\/devops\\\/#listItem\",\"name\":\"DevOps\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"telephone\":\"+552138277513\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/cropped-logo-mini.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#organizationLogo\",\"width\":100,\"height\":75},\"image\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61590814880509\",\"https:\\\/\\\/www.instagram.com\\\/jrtx.tech\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/\",\"name\":\"Thiago Paes Rodrigues\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#authorImage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/cropped-foto-rascunho3-96x96.jpeg\",\"width\":96,\"height\":96,\"caption\":\"Thiago Paes Rodrigues\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#webpage\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/\",\"name\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o - BLOG - JRT Technology Solutions\",\"description\":\"A performance tuning em MySQL \\u00e9, sem exagero, a compet\\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\\u00e7\\u00f5es cr\\u00edticas de alta concorr\\u00eancia. Nesta aula, voc\\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\\u00e9cnicas pr\\u00e1ticas de\",\"inLanguage\":\"pt-BR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/author\\\/thiago\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/ai-image-1789074237461.jpg\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#mainImage\",\"width\":1440,\"height\":1024,\"caption\":\"Aula 22: Performance tuning \\u2014 EXPLAIN, slow query log e otimiza\\u00e7\\u00e3o\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/2026\\\/09\\\/10\\\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\\\/#mainImage\"},\"datePublished\":\"2026-09-10T18:04:09-03:00\",\"dateModified\":\"2026-09-10T18:04:09-03:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/\",\"name\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"alternateName\":\"JRT Technology Solutions | Tecnologia e Inova\\u00e7\\u00e3o para Empresas\",\"description\":\"Um espa\\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\\u00e1tica e atual. Aqui voc\\u00ea encontra novidades, an\\u00e1lises, tutoriais e reflex\\u00f5es sobre inova\\u00e7\\u00e3o, intelig\\u00eancia artificial, gadgets, programa\\u00e7\\u00e3o e tend\\u00eancias digitais. Nosso objetivo \\u00e9 simplificar o complexo, ajudar voc\\u00ea a se manter atualizado e transformar conhecimento em pr\\u00e1tica no seu dia a dia.\",\"inLanguage\":\"pt-BR\",\"publisher\":{\"@id\":\"https:\\\/\\\/jrtx.com.br\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions","description":"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de","canonical_url":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"QKPfpDCzHmzKyfFk5j1KZW3HhROYTPeqwBN5qcJ8qcg","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#blogposting","name":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions","headline":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o","author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/09\/ai-image-1789074237461.jpg","width":1440,"height":1024,"caption":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o"},"datePublished":"2026-09-10T18:04:09-03:00","dateModified":"2026-09-10T18:04:09-03:00","inLanguage":"pt-BR","mainEntityOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#webpage"},"isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#webpage"},"articleSection":"DevOps, MySQL \u2014 Do Zero ao Avan\u00e7ado: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o"},{"@type":"BreadcrumbList","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","position":1,"name":"Home","item":"https:\/\/jrtx.com.br\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/devops\/#listItem","name":"DevOps"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/devops\/#listItem","position":2,"name":"DevOps","item":"https:\/\/jrtx.com.br\/blog\/category\/devops\/","nextItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#listItem","name":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o"},"previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#listItem","position":3,"name":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o","previousItem":{"@type":"ListItem","@id":"https:\/\/jrtx.com.br\/blog\/category\/devops\/#listItem","name":"DevOps"}}]},{"@type":"Organization","@id":"https:\/\/jrtx.com.br\/blog\/#organization","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","url":"https:\/\/jrtx.com.br\/blog\/","telephone":"+552138277513","logo":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#organizationLogo","width":100,"height":75},"image":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61590814880509","https:\/\/www.instagram.com\/jrtx.tech\/"]},{"@type":"Person","@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author","url":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/","name":"Thiago Paes Rodrigues","image":{"@type":"ImageObject","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#authorImage","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/09\/cropped-foto-rascunho3-96x96.jpeg","width":96,"height":96,"caption":"Thiago Paes Rodrigues"}},{"@type":"WebPage","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#webpage","url":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/","name":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions","description":"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de","inLanguage":"pt-BR","isPartOf":{"@id":"https:\/\/jrtx.com.br\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#breadcrumblist"},"author":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"creator":{"@id":"https:\/\/jrtx.com.br\/blog\/author\/thiago\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/09\/ai-image-1789074237461.jpg","@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#mainImage","width":1440,"height":1024,"caption":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o"},"primaryImageOfPage":{"@id":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/#mainImage"},"datePublished":"2026-09-10T18:04:09-03:00","dateModified":"2026-09-10T18:04:09-03:00"},{"@type":"WebSite","@id":"https:\/\/jrtx.com.br\/blog\/#website","url":"https:\/\/jrtx.com.br\/blog\/","name":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","alternateName":"JRT Technology Solutions | Tecnologia e Inova\u00e7\u00e3o para Empresas","description":"Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","inLanguage":"pt-BR","publisher":{"@id":"https:\/\/jrtx.com.br\/blog\/#organization"}}]},"og:locale":"pt_BR","og:site_name":"BLOG - JRT Technology Solutions - Um espa\u00e7o dedicado a explorar o universo da tecnologia de forma clara, pr\u00e1tica e atual. Aqui voc\u00ea encontra novidades, an\u00e1lises, tutoriais e reflex\u00f5es sobre inova\u00e7\u00e3o, intelig\u00eancia artificial, gadgets, programa\u00e7\u00e3o e tend\u00eancias digitais. Nosso objetivo \u00e9 simplificar o complexo, ajudar voc\u00ea a se manter atualizado e transformar conhecimento em pr\u00e1tica no seu dia a dia.","og:type":"article","og:title":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions","og:description":"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de","og:url":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/","og:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:secure_url":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg","og:image:width":100,"og:image:height":75,"article:published_time":"2026-09-10T21:04:09+00:00","article:modified_time":"2026-09-10T21:04:09+00:00","article:publisher":"https:\/\/www.facebook.com\/profile.php?id=61590814880509","twitter:card":"summary_large_image","twitter:title":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o - BLOG - JRT Technology Solutions","twitter:description":"A performance tuning em MySQL \u00e9, sem exagero, a compet\u00eancia que separa profissionais que apenas operam bancos de dados daqueles que conseguem sustentar aplica\u00e7\u00f5es cr\u00edticas de alta concorr\u00eancia. Nesta aula, voc\u00ea vai mergulhar fundo nas ferramentas nativas do MySQL para diagnosticar e corrigir gargalos: o comando EXPLAIN, o slow query log e t\u00e9cnicas pr\u00e1ticas de","twitter:image":"https:\/\/jrtx.com.br\/blog\/wp-content\/uploads\/2026\/03\/cropped-logo-mini.jpg"},"aioseo_meta_data":{"post_id":"2807","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-10 21:06:14","updated":"2026-09-10 21:06:14","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/jrtx.com.br\/blog\/category\/devops\/\" title=\"DevOps\">DevOps<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/jrtx.com.br\/blog"},{"label":"DevOps","link":"https:\/\/jrtx.com.br\/blog\/category\/devops\/"},{"label":"Aula 22: Performance tuning \u2014 EXPLAIN, slow query log e otimiza\u00e7\u00e3o","link":"https:\/\/jrtx.com.br\/blog\/2026\/09\/10\/aula-22-performance-tuning-explain-slow-query-log-e-otimizac\/"}],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/comments?post=2807"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/2807\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/2806"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2807"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}