Larry Yang

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

4.          性能:

1. 与NHibernate的比较:
Linq to Sql与NHibernate都可以较好的性能完成数据库操作。NHibernate在读、写、更新、删除各项操作中领先Linq to Sql, 在万条数据以内NHibernate表现出来的性能几乎是Linq to Sql的一倍。操作的数据量越小这种性能的差异越明显。在单次操作十万数据、百万数据级别的数据库应用中,Linq to Sql的查询性能强,其它操作性能比NHibernate差。

2. Linq 的性能已经被好多人提及.Linq To Object 的性能大家讨论的比较多些.它确实比自己实现的查找要慢.但是当数据量特别大时,更多是时间是花在分配虚拟内存上了,那么他们的差别就不是那么明显了。

3. Linq To Sql如何提升性能:

第一,  采用延迟加载(deferred loading)技术。语句是声明了,但是并不立即执行,而是在真正需要的时候才执行。

第二,  采用缓存技术。已经取到内存的数据,再依次提取时,会先从缓存中返回,而不是再次访问数据库。

当然,不要对象的时候,建议没有必要使用Linq To Sql.比如,只是填充DataView或DataGrid时,返回dataset或datatable要比用Linq To Sql实现的快很多。

posted on 2010-03-02 10:36  Larry Yang  阅读(375)  评论(0)    收藏  举报