深爱那片海 发表于 2015-1-18 11:26:55

ASP.NET教程之Linq to Sql与NHibernate数据库操纵功能对照研讨仓酷云

net网页编程欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!我写了两段测试程序来考证LinqtoSql和NHibernate的功能,做了好久的测试,以下是文章的截选。发给人人参考一下,人人多指教。
测试思绪:

<br>
10万、100万量级递增的数据范围运转工夫以秒记,准确到小数点后七位。关于每一个测试模块,测试运转3次取后2次运转工夫的均匀值,尽量扫除数据库对单一使用程序的缓存和语句编译等要素的影响。
同时来编写NHibernate和LinqtoSql测试程序,并对照其各模块完成的代码。两个测试程序均按以下体例声明测试类

publicclassTestApp
{

初始化函数

测试函数

卸载函数
………
}

数据及测试软件筹办
数据寄存于SQLSERVER2005,NHibernate版本为2.0,编程情况为VS.net2008,程序接纳NUint2.4.8单位测试工具来直不雅地猎取运转工夫(ExecutionTime),关于考察功能的目标。依照千、万、
操纵
ORM
千条数据
万条数据
十万条数据
百万条数据
写进
LinqtoSQL
0.7168726
2.9009993
24.7615404
312.4021605
NHiberante
0.3241660
01.8340702
16.8427108
217.5106473
查询
LinqtoSQL
0.7700709
0.7906083
1.0457957
4.3646305
NHiberante
0.2678490
0.5244701
3.9022920
43.3711542
更新
LinqtoSQL
1.3043570
5.1352840
44.4361433
468.34
NHiberante
0.1090214
4.2710070
38.3539783
401.7142972
删除
LinqtoSQL
1.4256575
7.5339277
66.3342046
744.9148032
NHiberante
1.4565611
5.9940426
56.7348532
614.4343719


<br>

<br>
注:以上实行数据的测试硬件前提为IntelCoreDuoE4500,2G内存,320G7200转希捷硬盘。对两种产物均未接纳任何情势的优化。
结论:
(1)、LinqtoSql与NHibernate这两种框架产物在批量更新和删除数据时功能体现非常差,与间接用ado.net举行操纵在十万和百万数据量级时相差近百倍。虽处置实上,使用ORM类产物批量处置数据库的操纵有背于面向对象的计划头脑。但也能够使我们懂得到,在使用ORM框架的数据库使用体系中应当接纳更间接的操纵体例办理此类操纵的功能成绩。
(2)、在十万条之内级别操纵数据量的使用情况下,LinqtoSql与NHibernate都能以能够较好的功能完成数据库操纵。这类前提下NHibernate在读、写、更新、删除各项操纵中均年夜幅度抢先于微软的LinqtoSql,出格是在万条数据之内这个级别上NHibernate体现出来的功能几近是LinqtoSql的一倍。操纵的数据量越小这类功能的差别越分明。
(3)在单次操纵十万数据、百万数据级其余数据库使用中,LinqtoSql的查询功能非常微弱,成就几近与ado.net间接操纵数据库功能吃平。但别的操纵功能仍被NHibernate年夜年夜抢先。
本文出自:http://www.ckuyun.com/pcode/archive/2008/11/13/1332402.html
兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!

再现理想 发表于 2015-1-21 06:56:51

微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。

不帅 发表于 2015-1-30 10:17:27

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。

深爱那片海 发表于 2015-2-2 17:21:13

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

蒙在股里 发表于 2015-2-5 23:05:24

ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。

谁可相欹 发表于 2015-2-6 11:42:03

虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。

活着的死人 发表于 2015-2-7 02:17:15

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

若相依 发表于 2015-2-8 00:41:24

ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。

分手快乐 发表于 2015-2-23 19:02:21

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

兰色精灵 发表于 2015-3-5 14:58:24

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。

因胸联盟 发表于 2015-3-8 19:22:35

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。

只想知道 发表于 2015-3-11 16:46:54

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

第二个灵魂 发表于 2015-3-19 01:37:40

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

老尸 发表于 2015-3-26 21:10:26

ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
页: [1]
查看完整版本: ASP.NET教程之Linq to Sql与NHibernate数据库操纵功能对照研讨仓酷云