mssqlserver分页2种方法,很多人都选择了最差的一种

mssqlserver分页2种方法,很多人都选择了最差的一种,第1张

概述                                                                                   mssqlserver优化分页2种方法详细比较 1,测试条件: 写一个JDBC链接数据库的方法,执行查询;                      测试数据 1000 条;                            采用                                                                                    mssqlserver优化分页2种方法详细比较 1,测试条件: 写一个JDBC链接数据库的方法,执行查询;                      测试数据 1000 条;                            采用存储过程procedure; 2,存储过程procedure:                -------------------> 分页-1代码 create procedure pro_page
  @pagecont int,
  @pageon int
as
 select top(@pagecont) ID,zifu from test_1 where ID not in (select top(@pagecont*@pageon) ID from test_1);
go
exec pro_page 10,4;




           ------------------------> 分页-2代码 create procedure pro_pages
  @pagecont int,
  @pageon int
as
select top(@pagecont) * from test_1
where (ID > (select MAX(ID) from (select top(@pagecont*@pageon) ID from test_1 order by ID) AS T)) order by ID
go
exec pro_pages 10,4;


3,测试结果:               分页-2经过测试无论显示第几页的数据效率都是一样在1-2s就显示出来。                分页-1经过测试当分页值越大就越慢,在得到第一页需要1-2s,如果显示第99页是大约1M才显示出来,如果数据更多瓶颈就更严重。                可以看出2种分页效率差距之大,但是很多人在分页时都用的方法-1。

4,纯SQL语句分页:
A.   select top(10) *  from test_1 where ID not in (select top(10*?) ID from test_1);

B.  select top(10) *  from test_1  where (ID > (select MAX(ID) from (select top(10*?) ID from test_1 order by ID) AS T)) order by ID");


     执行效率B>A, 当A分页数越大时效率就越差,B无论页数是多少效率都一样

注意:测试数据数量要足够多,100页以上。 总结

以上是内存溢出为你收集整理的mssqlserver分页2种方法,很多人都选择了最差的一种全部内容,希望文章能够帮你解决mssqlserver分页2种方法,很多人都选择了最差的一种所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1175513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存