为了账号安全,请及时绑定邮箱和手机立即绑定

如何测试两条Linq 语句执行查询所花费的时长。我想比较这两条语句的查询效率。

如何测试两条Linq 语句执行查询所花费的时长。我想比较这两条语句的查询效率。

一只斗牛犬 2018-11-20 11:13:27
如题,今有两条Linq语句,我采用的是Linq to entity ,主要查询DB_TeamTable 表中所有记录,目前有10000条测试数据。DB_TestEntities db = new DB_TestEntities();第一条:   var result = from s in db.DB_TeamTable select s;第二条:看了PLinq 实现并行查询,就用了下,不知使用正确了没,忘大侠指点。   var presult = from d in db.DB_TeamTable.AsParallel() select d;我想测试这两条查询语句,哪个效率更高。并能分别显示他们查询耗时。先谢过了      一、 测试第一条耗时,方法内部实现:                    lblOneTime.Text = string.Empty;              DateTime dt3 = DateTime.Now;             var presult = from s in db.DB_TeamTable select s;             DateTime dt4 = DateTime.Now;             lblOneTime.Text = (dt4 - dt3).ToString();     二、测试第二条耗时,方法内部实现:             lblTwoTime.Text = string.Empty;             DateTime dt1 = DateTime.Now;             var presult = from d in db.DB_TeamTable.AsParallel() select d;             DateTime dt2 = DateTime.Now;             lblTwoTime.Text = (dt2 - dt1).ToString();这种方式感觉不对,没观察到具体结果,而且每次结果也是不稳定的。      
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

SQL Profiler 跟踪一下生成的sql语句,看看相关的读写次数!!比你这更直观

查看完整回答
反对 回复 2018-11-24
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

Stopwatch sw = new Stopwatch();
            sw.Start();
            //这里填写要执行的代码
            sw.Stop();
            Console.WriteLine("总运行时间:" + sw.Elapsed);
            Console.WriteLine("测量实例得出的总运行时间(毫秒为单位):" + sw.ElapsedMilliseconds);
            Console.WriteLine("总运行时间(计时器刻度标识):" + sw.ElapsedTicks);
            Console.WriteLine("计时器是否运行:" + sw.IsRunning.ToString());

查看完整回答
反对 回复 2018-11-24
  • 2 回答
  • 0 关注
  • 484 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信