🎉 USE O CUPOM DESCONTO-FULL | 10% OFF acima de R$ 100,00

Como corrigir as queries lentas do JetEngine no banco de dados

Time Full Services Time Full Services Pro
Tipo Performance & Velocidade
Nome do erro Queries lentas do JetEngine no banco de dados EN: JetEngine slow database queries
Severidade Grave
Descrição As queries lentas do JetEngine acontecem quando uma query do Query Builder executa Meta Query ou SQL pesado em toda requisicao sem cache, fazendo o Listing Grid demorar e o banco devolver tempos altos. Costuma vir de Meta Query sem indice, Cache Query desligado, SQL com varredura completa e falta de cache de objetos.

Conteúdo exclusivo para membros Pro

Faça upgrade para acessar este item completo.

Perguntas frequentes

Por que o Listing Grid do JetEngine ficou lento de repente?
Quase sempre a query por tras dele passou a filtrar por mais campos de Meta Query, teve o Cache Query desligado, ou a tabela cresceu e o banco passou a varrer mais linhas. Abra o Query Monitor na página lenta, identifique a consulta do JetEngine entre as mais lentas e confirme se ela faz JOIN pesado na wp_postmeta.
O que e o Cache Query no Query Builder do JetEngine?
E um switcher das configurações da query, ligado por padrão, que faz o JetEngine guardar o resultado e reaproveita-lo em vez de refazer a consulta a cada carregamento. A própria documentação recomenda desliga-lo apenas quando ha problemas com o resultado da query. Mante-lo ligado costuma reduzir bastante o tempo de resposta.
Por que a Meta Query do JetEngine deixa a consulta lenta?
Cada condicao de Meta Query adiciona um JOIN na tabela wp_postmeta, que não tem indice na coluna meta_value. Com várias condicoes e muitos posts, o MySQL precisa varrer milhares de linhas por requisicao. Reduzir o número de filtros de metadado e limitar os itens por página diminui o trabalho do banco.
Como descubro qual query do JetEngine esta pesando no banco?
Use o Query Monitor para ver as consultas mais lentas da página e ligue o slow query log do MySQL para registrar as que passam do tempo limite. Depois rode um EXPLAIN sobre a consulta: se o plano mostrar type ALL e muitas linhas lidas, o banco esta fazendo varredura completa por falta de indice.
Criar indice resolve a query lenta de uma SQL Query?
Resolve quando o EXPLAIN aponta varredura completa numa coluna usada no filtro ou na ordenacao. Um indice nessa coluna deixa o MySQL achar as linhas direto, em vez de ler a tabela inteira. Faca com backup, porque criar indice em tabela grande bloqueia a gravacao por alguns instantes.
O cache de objetos ajuda nas queries do JetEngine?
Ajuda bastante. Com Redis ou Memcached ativos, o resultado da query do Query Builder fica em memória e e servido sem bater no banco a cada visita, reduzindo o tempo de resposta nas páginas com Listing Grid. Ainda assim, convem enxugar a Meta Query, porque o cache guarda o que for pedido, inclusive a consulta pesada.
Posso resolver tudo pelo painel ou preciso mexer no banco?
Boa parte resolve pelo painel: ligar o Cache Query, reduzir a Meta Query, baixar o Posts Per Page e ativar o cache de objetos. So e preciso ir ao banco para ligar o slow query log, rodar o EXPLAIN e criar indice quando a query e do tipo SQL Query sobre uma tabela própria com varredura completa.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes