Entity Framework - Desempenho na contagem
Eu tenho uma pequena pergunta sobre desempenho com o Entity Framework.
Algo como
using (MyContext context = new MyContext())
{
Document DocObject = context.Document.Find(_id);
int GroupCount = context.Document.Where(w=>w.Group == DocObject.Group).ToList().Count();
}
leva cerca de 2 segundos no meu banco de dados (cerca de 30k conjuntos de dados), enquanto este
using (MyContext context = new MyContext())
{
Document DocObject = context.Document.Find(_id);
int GroupCount = context.Document.Where(w=>w.Group == DocObject.Group).Count();
}
demora 0,02 segundos.
Quando meu filtro para 10 documentos teve 20 segundos para aguardar, verifiquei meu código e mudei para não usarToList()
antesCount()
.
Alguma idéia de por que ele precisa de 2 segundos para esta linha com oToList()
?