采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师你好,我想问下这种分页会不会出现性能问题?因为后端在处理分页的时候都会将数据表中的所有数据都查出来,再进行分页操作,当数据表中的数据量很大的时候,感觉应该很消耗性能,而且每页数据量其实很少的,说不定每页只显示10条数据,而数据库有10万条,意思就是说每获取一页都会先从数据表将这10万条数据获取到,再从中取出10条,感觉这样对性能的消耗很大。
分页不是这样做的,分页是让数据库完成的,不可能将所有的数据取出来再分页的,这样内存也受不了
是因为Django的懒加载机制吗?在获取全部数据的时候并没有对数据库执行操作,只是获取到了queryset对象,最后分页操作时才会去操作数据获取当前页的数据。是这样的吗?
不是懒加载机制。这个是model的机制。其实很简单。你用model的filter等方法的时候,哪怕是切片,实际上这个时候并没有查询数据库,这些接口都是为了生成sql语句而已,只有你真正的对queryset进行for循环的时候才会真正的查询数据库
哦哦哦!!!懂了!谢谢老师!
登录后可查看更多问答,登录/注册
一套通用的技术组合拳,助你解决大部分Python类网站后端问题
1.4k 18
1.7k 15
1.9k 13
2.1k 13
946 12