日期:2014-05-17  浏览次数:20377 次

用linq分页效率如何?
 return ielist.Skip<T>(index * pageSize).Take<T>(pageSize);

直接用的linq to sql 分页,不知道效率如何?请大神指教

------解决方案--------------------
数据量过大的,sql效率有高过Linq分页。主要看你的数据量
------解决方案--------------------
用linq来分页肯定没有sql分页效率高,要是数据量不是很大的情况下,可以用
------解决方案--------------------
如果你采用的分页方式与Linq一样,也没有区别了,如有区别那就是解析Linq所花的时间了
------解决方案--------------------
没做过LINQ分页
------解决方案--------------------
小数据量用linq吧,写起来简单 句意也很明确。 大数据量建议用sql 可以自己做个表 插入100W数据了做做测试
------解决方案--------------------
你可以用sql profiler查看和分析一下它生成sql语句就大概了解了,不同版本的sql server,它生成的sql分页语句也不同。
------解决方案--------------------
请自己测试。当你需要三天盖起一个茅草房时,你会去幻想着“等明天必须盖起一个富丽宫殿”吗?那纯粹是不懂辨证。
------解决方案--------------------
Linq处理小数据量还是不错的,使用简单、明确。不过大数据量不就建议使用它了, 使用SQL来分页是一个不错的选择,我前段是时间在 IT分享 博客上看见一片关于SQL分页的实现方法和 SQL语句写法。

------解决方案--------------------
效率和直接用sql差不多,也并非“大数据量”不适合。也不知道信口胡说的人怎么想的。
linq to sql幕后还是调用sql查询,而不是客户端处理,所以它的效率和你直接操作数据库没有什么差别。
------解决方案--------------------
引用:
请自己测试。当你需要三天盖起一个茅草房时,你会去幻想着“等明天必须盖起一个富丽宫殿”吗?那纯粹是不懂辨证。


但是很多时候我们不一定要建起了富丽宫殿才能知道其建筑难度及建筑成本,可以找有经验的人先问问嘛
------解决方案--------------------
楼上一片信口雌黄,我建议还是自己测试一下吧,linq本质上也是生成分页sql,我不知道楼上说linq分页没有sql效率高的理论依据在哪里?
------解决方案--------------------
大批量LINQ处理还是不错的,内部应该有缓存机制吧,没用过ORM。自己测试下吧
------解决方案--------------------
搭车同问一个问题

如果我是多表联结查询呢?怎么用LINQ TO SQL 做分页?
------解决方案--------------------
大批量 数据 确实 没 SQL  效率高
------解决方案--------------------
看不懂,但是感觉很厉害的样子
------解决方案--------------------
只能说是各有春秋,linq 应该是一次性把数据取回来,然后在内存中做分页,优点是第一次慢,但后边分页都很快,缺点也是他的优点,当数据量很大时,可能由于第一次的响应过长而被服务器报出超时异常

sql 分页一次只读部分数据回来,可以减少超时异常,但他的缺点就是越到后边的数据,响应的时间就越长(不过很少有人去读后边的数据吧)
------解决方案--------------------
引用:
效率和直接用sql差不多,也并非“大数据量”不适合。也不知道信口胡说的人怎么想的。
linq to sql幕后还是调用sql查询,而不是客户端处理,所以它的效率和你直接操作数据库没有什么差别。


++  我目前做的项目几乎没差别
------解决方案--------------------
引用:
只能说是各有春秋,linq 应该是一次性把数据取回来,然后在内存中做分页,优点是第一次慢,但后边分页都很快,缺点也是他的优点,当数据量很大时,可能由于第一次的响应过长而被服务器报出超时异常

sql 分页一次只读部分数据回来,可以减少超时异常,但他的缺点就是越到后边的数据,响应的时间就越长(不过很少有人去读后边的数据吧)

linq 应该是一次性把数据取回来,然后在内存中做分页

请不要“应该是”,sp1234说的很清楚,你应该求证下。
------解决方案--------------------
引用:
引用:
只能说是各有春秋,linq 应该是一次性把数据取回来,然后在内存中做分页,优点是第一次慢,但后边分页都很快,缺点也是他的优点,当数据量很大时,可能由于第一次的响应过长而被服务器报出超时异常