关于LinQ分页效率问题

gxingmin gxingmin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
分页查第90-100条中的10条
Linq代码如下:
var movies = (from m in db.Movies
where m.ReleaseDate > new DateTime(1904, 6, 1)
orderby m.ID
select m).Skip(90).Take(10);
return View(movies.ToList());


我跟踪Linq的SQL语句是

--LinQ SQL
SELECT TOP 10 A.*
FROM ( SELECT
* ,
ROW_NUMBER() OVER ( ORDER BY sd_Key ASC ) ROWS
FROM dbo.sys_Dictionary
) A
WHERE A.ROWS > 90


而我们以前用ADO.Net调用SQL语句查询的SQL语句是

--ADO.Net手动传入的SQL
SELECT A.*
FROM ( SELECT TOP 100
* ,
ROW_NUMBER() OVER ( ORDER BY sd_Key ASC ) ROWS
FROM dbo.sys_Dictionary
) A
WHERE A.ROWS > 90


很明显当表中记录很大时,后面的sql语句比linq的sql语句效率高
刚用linq,不知道我理解的对不对,请指教。
...全文

相关推荐

评论 16
收藏 已收藏
分享
返回顶部
gxingmin
LINQ 8,492 成员 4,736 内容