博客
关于我
LINQ能不能用系列(二)LINQ to SQL 效率比对
阅读量:792 次
发布时间:2023-01-31

本文共 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测量两种方法的执行时间。

运动治疗后的结果呢?我留给你最后的思考吧。数据分析表明,两种方法在重复次数多的情况下,性能表现差异不大。而且,无论是哪种方法,随着数据量的增加,执行时间差异也会增加。这命题还远,咱们再多做几个实验吧。

希望你能从这次探讨中找到一些启发。程序的选择永远离不开问题的具体场景。记得,最好的工具可能不是最快的工具。

转载地址:http://luwfk.baihongyu.com/

你可能感兴趣的文章
linux awk命令详解2
查看>>
linux awk应用详解
查看>>
linux bash shell 特殊字符大全
查看>>
Linux Bash 脚本中的 IFS 是什么?
查看>>
linux bash: sqlplus: command not found 错误处理
查看>>
linux bash中too many arguments问题的解决方法
查看>>
Linux BASH多进程并行处理的方法实现
查看>>
linux bg和fg命令
查看>>
Linux Bridge KVM虚拟化环境部署
查看>>
Linux Bridge(网桥)
查看>>
linux build编译,rpmbuild 编译
查看>>
linux C 中的volatile使用【转】
查看>>
linux c 正则
查看>>
Linux C/C++ 学习路线(已拿腾讯、百度 offer)
查看>>
Linux cat 命令的进化版:Bat 0.25 正式发布,行压缩功能亮点十足!
查看>>
linux centos tomcat8配置apr模式
查看>>
linux centos 安装 docker-compose 1.27.4
查看>>
linux centos6.4 php连接sql server2008
查看>>
Linux Centos7 xfsdump文件系统的备份和恢复
查看>>
Linux centos7 防火墙设置
查看>>