Investigar

Eu lembro das coisas. O Trace ajuda.
O Investigar começa num sintoma, por que a página de pedidos está lenta?, e termina em correções que citam a evidência. Quando a correção é um índice, ele pode aplicar e medir se ajudou.
Abra por Ferramentas › Investigar na barra lateral. Funciona no PostgreSQL, MySQL, SQLite, SQL Server, Trino e ClickHouse.
A evidência
O Lily manda um pedido com:
- o schema (focado nas tabelas relevantes em schemas grandes) e o contexto de negócio do Entender;
- até 15 das suas leituras recentes nessa conexão, com todos os valores trocados por
?, e os planos de cinco delas; - as oito queries mais lentas guardadas pelo Trace, se Ajustes › Espaço de trabalho › Lembrar histórico do Trace no disco estiver ligado.
Nenhum valor de linha é enviado. Cada query ganha uma etiqueta (Q1, T3…), e toda correção proposta precisa citar as dela.
As correções
Cada correção vem com um tipo:
- ÍNDICE e ESTATÍSTICAS o Lily pode aplicar. Uma correção dessas que não cita evidência real é descartada.
- REESCRITA e CONSELHO são para você aplicar; o Lily oferece Copiar.
Aplicar e provar
Aplicar e provar numa correção de índice:
- mede o custo estimado pelo planner das queries citadas;
- cria o índice (
CONCURRENTLYno PostgreSQL, para não travar as escritas); - mede de novo e mostra quanto a estimativa caiu.
Se a estimativa não caiu, o Lily remove o índice de novo no PostgreSQL, MySQL e SQL Server. No SQLite, ClickHouse e Trino ele não consegue desfazer sozinho, então confira o resultado e remova o índice você mesmo se não ajudou.
Os números são estimativas do planner (do EXPLAIN, não do EXPLAIN ANALYZE), não tempos medidos. Uma investigação aplica no máximo cinco correções.
Produção
Aplicar e provar roda assim que você clica, sem a confirmação extra que as escritas têm em outros lugares. Numa conexão de produção, prefira copiar a correção e rodar você mesmo, ou conectar como somente leitura.
Conexões somente leitura
Numa conexão somente leitura o Investigar só propõe. Ele nunca aplica nada, e essa regra está no jeito que ele funciona, não só escondida na interface.