仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1889|回复: 13
打印 上一主题 下一主题

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

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:26:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

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

数据及测试软件筹办
数据寄存于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。
蒙在股里 该用户已被删除
5#
发表于 2015-2-5 23:05:24 | 只看该作者
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
谁可相欹 该用户已被删除
6#
发表于 2015-2-6 11:42:03 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
活着的死人 该用户已被删除
7#
发表于 2015-2-7 02:17:15 | 只看该作者
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
若相依 该用户已被删除
8#
发表于 2015-2-8 00:41:24 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
分手快乐 该用户已被删除
9#
发表于 2015-2-23 19:02:21 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
兰色精灵 该用户已被删除
10#
发表于 2015-3-5 14:58:24 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
因胸联盟 该用户已被删除
11#
发表于 2015-3-8 19:22:35 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
只想知道 该用户已被删除
12#
发表于 2015-3-11 16:46:54 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
第二个灵魂 该用户已被删除
13#
发表于 2015-3-19 01:37:40 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
老尸 该用户已被删除
14#
发表于 2015-3-26 21:10:26 | 只看该作者
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-4 15:57

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表