如题,今有两条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();
这种方式感觉不对,没观察到具体结果,而且每次结果也是不稳定的。
4 回答
白板的微信
TA贡献1883条经验 获得超3个赞
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());
- 4 回答
- 0 关注
- 502 浏览
添加回答
举报
0/150
提交
取消