Django分页一般使用Paginator类来实现。
分析一下Paginator类的实现:
def page(self, number):
"""
Returns a Page object for the given 1-based page number.
"""
number = self.validate_number(number)
bottom = (number - 1) * self
Django默认分页使用Paginator类,通过mysql的limit语句实现,但当数据量大时,查询效率线性下降。针对此问题,提出了两种优化方案:1.按需查询,减少无效数据获取;2.利用覆盖索引加速查询,但后者尚未实践验证。这两种方法可以显著提升分页查询效率。
Django分页一般使用Paginator类来实现。
分析一下Paginator类的实现:
def page(self, number):
"""
Returns a Page object for the given 1-based page number.
"""
number = self.validate_number(number)
bottom = (number - 1) * self
328
2070
221
1265
186

被折叠的 条评论
为什么被折叠?