1. Otimização de Varredura Sequencial no PostgreSQL
Desenvolvedor BackendContexto
Um desenvolvedor percebeu lentidão ao buscar usuários por e-mail em uma tabela com mais de 100 mil registros.
Problema
O plano de execução mostrava um Seq Scan na tabela users com grande divergência entre as linhas estimadas e reais.
Como usar
Colou o JSON do EXPLAIN (FORMAT JSON, ANALYZE) no campo de entrada e selecionou o dialeto PostgreSQL.
{
"explainOutput": "[\n {\n \"Plan\": {\n \"Node Type\": \"Seq Scan\",\n \"Relation Name\": \"users\",\n \"Alias\": \"users\",\n \"Filter\": \"((email)::text = '[email protected]')\",\n \"Plan Rows\": 1000,\n \"Actual Rows\": 95000\n }\n }\n]",
"dialect": "postgresql",
"sql": "SELECT * FROM users WHERE lower(email) = '[email protected]'"
}Resultado
A ferramenta destacou o nó de Seq Scan em vermelho devido à divergência de 95x nas linhas e sugeriu a criação de um índice na coluna email da tabela users.