在控制台应用程序中测试EF6 linq查询。以下是详细信息:
Stopwatch sw = Stopwatch.StartNew();
Console.WriteLine(sw.ElapsedMilliseconds);
db.Database.Log = Console.Write;
db.Users.Where(x => x.GroupId == 1407).ToList(); //Approx 7000 rows
Console.WriteLine(sw.ElapsedMilliseconds);
从控制台窗口的输出:
平均而言,查询需要192毫秒才能执行。但是,连接的打开和关闭时间约为7秒。这也反映在ElapsedMilliseconds
日志中。
此外,我在SSMS中运行了相同的生成查询,并且执行时间相同,并且输出以平均3秒的速度实现。
鉴于上述信息,我有两个问题: