怎么使用sql server 按条件查询的结果分页显示?求大神给代码
答案:2 悬赏:80 手机版
解决时间 2021-02-10 19:37
- 提问者网友:送舟行
- 2021-02-09 23:40
怎么使用sql server 按条件查询的结果分页显示?求大神给代码
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-02-10 00:55
尽量不要使用嵌套子查询,优先使用连接子查询;
In 关键字尽量少使用,效率低,除非 in 包含的信息量非常少,并且叫固定;
如果查询条件和查询结果表无直接关联,优先根据查询条件查询出符合条件的临时结果值,然后和最终结果表关联;
除 top n 方式分页之外,使用 row_number() over 方式分页也可以;
能明确指定结果字段的,尽量不要用 * ;
不相关的字段可以省略;
如果最终结果表数据比较大,考虑分表,分区,分库;
查询结果表字段尽量不要包含大文本之类的字段;
where 条件中对于varchar 字段 的 like 查询要适度,不要用太多,会影响效率;
In 关键字尽量少使用,效率低,除非 in 包含的信息量非常少,并且叫固定;
如果查询条件和查询结果表无直接关联,优先根据查询条件查询出符合条件的临时结果值,然后和最终结果表关联;
除 top n 方式分页之外,使用 row_number() over 方式分页也可以;
能明确指定结果字段的,尽量不要用 * ;
不相关的字段可以省略;
如果最终结果表数据比较大,考虑分表,分区,分库;
查询结果表字段尽量不要包含大文本之类的字段;
where 条件中对于varchar 字段 的 like 查询要适度,不要用太多,会影响效率;
全部回答
- 1楼网友:等灯
- 2021-02-10 01:48
set ansi_nulls on
set quoted_identifier on
go
--孤独之行 扣扣 214190521 2012--5-2
create procedure carpaging
@currentindex int, --当前页数(第一页传入0,第二页传入1...)
@pagecount int --取值数量
as
select * from (select row_number() over(order by carid desc) as randid,* from car) as ca
where randid >@currentindex * @pagecount and randid <=@currentindex * @pagecount + @pagecount
go
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯