请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

分页的性能问题

老师你好,我想问下这种分页会不会出现性能问题?因为后端在处理分页的时候都会将数据表中的所有数据都查出来,再进行分页操作,当数据表中的数据量很大的时候,感觉应该很消耗性能,而且每页数据量其实很少的,说不定每页只显示10条数据,而数据库有10万条,意思就是说每获取一页都会先从数据表将这10万条数据获取到,再从中取出10条,感觉这样对性能的消耗很大。

正在回答

1回答

分页不是这样做的,分页是让数据库完成的,不可能将所有的数据取出来再分页的,这样内存也受不了

0 回复 有任何疑惑可以回复我~
  • 提问者 黑不溜球 #1
    是因为Django的懒加载机制吗?在获取全部数据的时候并没有对数据库执行操作,只是获取到了queryset对象,最后分页操作时才会去操作数据获取当前页的数据。是这样的吗?
    回复 有任何疑惑可以回复我~ 2019-12-12 22:28:52
  • bobby 回复 提问者 黑不溜球 #2
    不是懒加载机制。这个是model的机制。其实很简单。你用model的filter等方法的时候,哪怕是切片,实际上这个时候并没有查询数据库,这些接口都是为了生成sql语句而已,只有你真正的对queryset进行for循环的时候才会真正的查询数据库
    回复 有任何疑惑可以回复我~ 2019-12-15 12:16:12
  • 提问者 黑不溜球 回复 bobby #3
    哦哦哦!!!懂了!谢谢老师!
    回复 有任何疑惑可以回复我~ 2019-12-17 17:25:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信