2

我一直在对表中的大量行运行 sql 查询。查询的结构类似于以下查询。

SELECT id FROM
(
SELECT
     id,(ROW_NUMBER() OVER (ORDER BY id)) AS Row 
FROM 
     <table>
)
temp_table WHERE Row BETWEEN 1 AND 50

我在 UI 上使用分页,因此一次获取需要 50 条记录。我担心的是,我正在获取所有记录,然后从中选择 50 条记录,难道没有一种方法可以让我只选择我真正需要的那些记录。请注意,这是一个简化的查询,原始查询非常复杂并且有很多连接。有没有实现支持分页的查询的标准方法?

4

1 回答 1

1

我在这里建议的是:

1.使用查询创建索引视图(view_sample)

SELECT
     id,(ROW_NUMBER() OVER (ORDER BY id)) AS Row 
FROM 
     <table>

2.现在在行上创建一个索引(聚集)

3.Select id from view_sample where Row BETWEEN 1 AND 50

于 2012-09-07T06:11:00.680 回答