14-16 Mar 2026
Voltar ao Plano

Corrigir subquery O(n²) na deduplicacao CodigoB100

ACT-2.8
Curto PrazoMediaEsforco: MComplexidade: MediaParalelizavel
Por que e urgente

Correlated subquery em `GetB100DuplicationFilteredListAsync` gera scan aninhado. Usado no endpoint `/api/app/ofertas/aceitas-recusadas`

Risco de nao fazer

Degradacao progressiva de performance conforme a tabela AppOfertas cresce

Modulos Impactados

aspnet-core/src/cargo_fleet.EntityFrameworkCore/Ofertas/EfCoreOfertaRepository.cs

Passos de Implementacao

  1. 1Reescrever usando raw SQL ou FromSqlInterpolated com CTE: `WITH ranked AS (SELECT *, ROW_NUMBER() OVER (PARTITION BY "CodigoB100" ORDER BY "Data" DESC) AS rn FROM "AppOfertas" WHERE ...filtros...) SELECT * FROM ranked WHERE rn = 1`
  2. 2Testar com volume representativo de dados
  3. 3Comparar explain plans antes/depois

Achados Relacionados