摘要: 上次我博客上,发表一篇有关性能测试的博客. http://www.cnblogs.com/jake1/archive/2013/04/23/3039101.html. 当时有些网友说我那数据量大少,没多少可对比性.其实我当时做的性能测试数据也是10万多的. 做出来的性能. 为了,获取更准确的数据,于是我数据加到100多万. 然后就感觉插入相当慢,查询和修改 倒不会发现性能上有很大差别.后来一想,才知道,因为我是用guid 作为主键的.所以会出现这种情况. 关于guid和自增id 在现在数据库中是经常使用的.至于他们的优缺点,我就不在这里讨论了.我在这里只想说的是,如果你选择了guid作为你的. 阅读全文
posted @ 2013-04-26 21:43 jake强 阅读(2898) 评论(2) 推荐(1) 编辑
摘要: 我发现现在有不少博友,都反对使用EF框架,说它性能低.其实只要你用的好,性能不是问题,经过测试,它也会接近ado.net的访问了. 当然如果对EF不了解,随便乱用,确实会引来性能问题.因为EF的查询语句都是自己生成的.如果不注意,它会多次查询数据库,或用效率不高的语句去查询. 下面我就把我们在项目中遇到的问题,现我把他总结出来.以供大家参考.当然还有一些没有列出来的,希望各网友也一起提供一下,以避免大家少走弯路.分页的时候,尽量在数据库里面去分页.在我实际中的项目,我就发现我同事由于他不了解EF属性,它的分页都是做在内存中分页.下面请看他的代码. queryToList().Skip((p.. 阅读全文
posted @ 2013-04-25 22:19 jake强 阅读(4563) 评论(11) 推荐(11) 编辑
摘要: 网上也有很多人对这些做了性能对比.但不想只参照网上的,我还是要自己做一下性能对比.毕竟每个人的环境都不太一样,而且你要把EF作为自己项目中使用,你首先要对这性能要负责.怎么能随便摘抄一下网上的性能分析呢. 好了,我首先介绍一下我的测试环境. 数据库 sql server 2008 R2,系统 win 7 . cpu I5. 内存4 g. 数据库装在本地. 我的用的是EF5.0.数据库的数据,已经有12万多条了.下面我测试的代码首先EF 的测试代码View Code 1 public class EntityDB 2 { 3 4 //根据id 查询 5 ... 阅读全文
posted @ 2013-04-23 22:24 jake强 阅读(7965) 评论(47) 推荐(5) 编辑
摘要: 以前我做大项目中,我就提到要用entity framework 来做大项目的框架.可惜当时被否决了,由于当时自己对entity framework 也了解的并不是很深,所以当时也没有力争. 今年回到公司后,做了一个公司的小项目,就用的是entity framework. 因此也有时间好好研究该项目了.同时也做了大量的压力测试,觉的大项目还是能用 entity framework的. 首先我们先说一个项目的框架,要考虑哪些因素. 1,易用性.这点很重要,作为一个框架,要能够快速的写出业务代码出来,这样才能帮助项目节省成本. 2.可扩展性和可维护性. 一个框架的改变虽然不多,但改变有时总是不可避. 阅读全文
posted @ 2013-04-22 22:12 jake强 阅读(4513) 评论(37) 推荐(10) 编辑
摘要: 几年的工作中,经历了2个几十号人以上的大项目.深深体会了,一个好的框架对项目的成成败是多么重要的. 尤其是我上一个项目.做的是一个国内顶尖的医疗公司的一个门户项目.当时由于项目的时间比较紧,没有过多时间去考虑和研究框架.于是就简单引进公司的另外一个框架,到最后的2年多使用时间,就逐渐感觉到了那框架的弊端.到后面项目中的很多同事都反映,该框架不但没有提高效率,而且严重阻碍项目的进度.结果也恰恰证明了这一点.使得我们中的很多开发进度,都是严重推迟了. 当然,一个项目的成败有很多因素.因为我是搞技术的,我想我还是分析一下技术方面的原因吧:1,一开始时定项目时,由于时间的因素.没有过多的考虑和研究框. 阅读全文
posted @ 2013-04-22 16:02 jake强 阅读(6180) 评论(46) 推荐(26) 编辑
摘要: 近来我发现我一些同事,在用ajax时,用数据源,都喜欢重新新建一个页面.其实我是很不喜欢这种模式,主要原因,一是后期维护麻烦,还要去找哪些页面,二是不能调用一些本页原有的数据方法.因此我在这里做了一个测试的案例,在这里,我们有2种方法来掉用本页的数据源方法. 一种是webservice 方法. 那就是在本页里添加webservice 方法.如下 [WebMethod] public static string GetWord(string arg) { return "调用 webService,值是"+arg; }这样就可以在客户端,前掉调用该方法了.如下var sdat 阅读全文
posted @ 2011-12-09 20:57 jake强 阅读(1293) 评论(4) 推荐(2) 编辑