
本文共 804 字,大约阅读时间需要 2 分钟。
Lilu 点评:
拿起扇子,说不定你是个程序员,因为程序员总是对工具和方法的选择充满疑问。有时候,用什么工具去解决问题,是大事。就像以前我们讨论LINQ和传统的ADO.NET,实际上是不同的工具。
有人说,公交车和私家车都是有===============用途,但我觉得它们的区别不仅在于功能,还是在于使用场景。这个比较类似于我们选择哪种方式来处理数据查询。针对这个问题,我最近做了一个小实验,跟你分享看看。
我用_sql server 2008和.net framework 4.0搭建了一个测试环境。然后,我�特意准备了100万条数据,其中有一条是和其它数据不一样的。这样的数据测试方法,既能测试性能,又能让结果比较具有参考价值。
具体来说,我测试了两种方式:LINQ和传统的ADO.NET。我分别编写了两种方法来执行一张查询表:select * from gameinfo where gamename like '%Dota%'
。查询内容相对简单,但传统方法需要添加一个parameterized查询。
为了保证测试的公平性,我采用了以下方式:首先用传统ADO.NET写一个鸡骨架,然后用LINQ也写一个完全一样的鸡骨架,确保两者的执行环境一致。此外,我还特别注重数据准备工作,确保测试结果可以直接对比。
在具体测试中,我选用了以下标准:测试次数为10次,每次执行10次查询。第一次查询前,我强制重置数据库和连接,这样不会因为数据残留影响结果。我用stopwatch测量两种方法的执行时间。
运动治疗后的结果呢?我留给你最后的思考吧。数据分析表明,两种方法在重复次数多的情况下,性能表现差异不大。而且,无论是哪种方法,随着数据量的增加,执行时间差异也会增加。这命题还远,咱们再多做几个实验吧。
希望你能从这次探讨中找到一些启发。程序的选择永远离不开问题的具体场景。记得,最好的工具可能不是最快的工具。
发表评论
最新留言
关于作者
