我有一些数据库,现在它包含一个大约 100 行的表。但是将来它不会有 100 行而是 1 000 000+ 行,我必须小心我现在正在开发的 Web 应用程序。
下一个问题是:在网页上,我需要创建分页列表来向用户显示记录。这是我计划使用的代码示例
public IQueryable<MyTable> GetRows(int from, int to)
{
var queryRes = (from row in SomeDataContext.MyTable
order by row.id
select row).AsQueriable();
return queryRes.Take(to).Skip(from);
}
它只是代码示例。我没有运行它。但问题是在这种情况下会发生什么?我看到了两个场景
- 它将从数据库和服务器端加载所有行,并返回从“从”到“到”范围内的记录。其他将被忽略。在这种情况下,我的应用程序会有很大的麻烦。想象一下每次从数据库中加载 1 000 000 行。这将是灾难。
- 它将构造 SQL 请求,它将只返回我需要的行而不加载其他行。这正是我需要的。
我认为这将是 2 种情况,但我不确定也无法检查。我对么?