首页 > 数据库 > MySQL > 正文

MySQL提高分页效率

2024-07-24 13:08:00
字体:
来源:转载
供稿:网友

本文分享的这段代码是大数据量时提高分页的效率的测试代码,感兴趣的小伙伴可以参考一下

下面就是大数据量时提高分页的效率的测试代码,分享给大家。

 

 
  1. --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库“TestForPaging” 
  2. use TestForPaging 
  3. go 
  4. --创建表SomeData 
  5. create table SomeData 
  6. id int primary key, 
  7. name varchar(30) null
  8. description text 
  9. go 
  10. --插入数据 
  11. insert into SomeData values(1,'num1','第1条'
  12. go 
  13. insert into SomeData values(2,'num2','第2条'
  14. go 
  15. insert into SomeData values(3,'num3','第3条'
  16. go 
  17. insert into SomeData values(4,'num4','第4条'
  18. go 
  19. insert into SomeData values(5,'num5','第5条'
  20. go 
  21. --数据条目总数 
  22. select count(*) from SomeData 
  23. go 
  24. --给每条记录添加一个数据级别 
  25. select name,description,ROW_NUMBER() over(order by id desc)as dataLevel from SomeData 
  26. go 
  27. --查看指定的数据级别间的数据条目 
  28. select dataLevel,name,description from 
  29. (select name,description,row_number() over(order by id desc)as dataLevel from SomeData) 
  30. as datawithleverl where dataLevel between 2 and 4 
  31. go 
  32. --实现查看指定的数据级别间的数据条目的存储过程 
  33. create procedure GetDataPaged 
  34. @startRowIndex int
  35. @maximumRows int
  36. @sort varchar 
  37. AS 
  38. --确保指定sort 
  39. if len(@sort)=0 
  40. set @sort='id' 
  41. --带参数的查询 
  42. select dataLevel,name,description from 
  43. (select name,description,row_number() over(order by @sort desc)as dataLevel from SomeData) AS datawithleverl 
  44. WHERE dataLevel > (@startRowIndex*10) AND dataLevel <= (@startRowIndex*10 + @maximumRows) 
  45. go 

以上就是本文的的全部内容,希望对大家的学习有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表