Início rápido
Ativando o profiling
API do Profiler
Como obter o Profiler
report()
Exemplo de saída:
- Duração em milissegundos para cada passo
- Percentual do tempo em relação ao pai/total
- Aninhamento hierárquico das operações
- Metadados de cada passo (por exemplo,
ops_count,ops)
step()
clear()
summary()
Entendendo o relatório
Nomes dos passos
Duração
- Passos de planejamento (Planejamento da consulta): Geralmente rápidas
- Passos de execução (Execução SQL): Onde o trabalho de fato acontece
- Passos de transferência (Resultado para DataFrame): Conversão dos dados para pandas
Identificação de gargalos
Padrões de profiling
Gerar o perfil de uma única consulta
Analisar o perfil de várias consultas
Compare as abordagens
Dicas de otimização
1. Verifique o tempo de execução do SQL
SQL execution for o gargalo:
- Adicione mais filtros para reduzir o volume de dados
- Use Parquet em vez de CSV
- Verifique se os índices estão adequados (para fontes de banco de dados)
2. Verifique o tempo de E/S
read_csv ou read_parquet for o gargalo:
- Use Parquet (colunar, comprimido)
- Leia apenas as colunas necessárias
- Faça o filtro na origem, se possível
3. Verifique a transferência de dados
to_df estiver lento:
- O conjunto de resultados pode estar grande demais
- Adicione mais filtros ou um limite
- Use
head()para visualizar uma amostra