14-16 Mar 2026
Voltar ao Plano

Corrigir N+1 no export Excel de Ofertas

ACT-5.2.4
2a Pass. CurtoAltaEsforco: MComplexidade: MediaParalelizavel
Por que e urgente

500 queries sequenciais para exportar 500 ofertas aceitas, causando timeouts em horario de pico

Risco de nao fazer

Timeouts de export, saturacao do connection pool com 150 tenants

Modulos Impactados

aspnet-core/src/cargo_fleet.Application/Ofertas/OfertasAppService.cs

Passos de Implementacao

  1. 1Coletar todos os `ofertaId` das ofertas com `TryAceite == true` antes do loop
  2. 2Buscar todos os `OfertaRecords` em um unico `GetListAsync(ofertaIds: ids)` com `IN (...)` SQL
  3. 3Criar dicionario `Dictionary<Guid, List<OfertaRecord>>` para lookup O(1) dentro do loop
  4. 4Substituir a query individual por lookup no dicionario

Achados Relacionados