Trilha Júnior Trilha

Querying: detecção N+1

O curso trata de como detectar consultas N+1 num app Rails. Começa pela assinatura de uma rajada de N+1 no log de desenvolvimento. Depois conta consultas a partir do Ruby com o evento sql.active_record do ActiveSupport::Notifications. Apresenta o assert_queries_count e os helpers parecidos, incluindo o que é preciso para usá-los numa suíte RSpec com transactional fixtures. Configura a gem Bullet, seus canais de alerta, seus três detectores e a safelist. Por fim, situa cada ferramenta em desenvolvimento, teste ou produção.

O que você vai aprender

  • ✓Reconhecer o padrão de N+1 no log do Rails com verbose_query_logs
  • ✓Contar consultas com uma assinatura de ActiveSupport::Notifications
  • ✓Escrever testes com assert_queries_count e ligá-los ao RSpec
  • ✓Configurar o Bullet, seus canais de alerta e o Bullet.raise nos testes
  • ✓Distinguir os três detectores do Bullet e pôr um falso positivo conhecido na safelist
  • ✓Escolher ferramentas de detecção para desenvolvimento, teste e produção
Prévia grátis · Aula 1 5 min de leitura

Reconhecendo N+1 no log do Rails

Querying: includes e joins passou sete aulas corrigindo N+1. .includes, .preload, .eager_load e .strict_loading transformam um acesso preguiçoso a uma associação numa consulta extra, ou num erro barulhento, em vez de uma consulta por linha. As sete aulas supunham que você já sabia que a página…

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...