与SSMS

时间:2018-06-11 04:08:42

标签: sql-server entity-framework azure-sql-database ssms

在控制台应用程序中测试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秒的速度实现。

鉴于上述信息,我有两个问题:

  1. 如果执行时间仅为200毫秒,为什么数据需要更长时间才能实现? (我猜它是因为互联网连接和数据被客户端下载。虽然不确定)
  2. 为什么SSMS和Console app之间的时间差异很大?

0 个答案:

没有答案