实操百万级数据Django查询与性能优化

本文讲述了在Django中处理百万级数据时遇到的页面卡死问题及解决方案。通过分析查询方法,发现未使用索引导致查询效率低下。通过借鉴原生SQL的`LIMIT`操作,优化Django的查询方式,使用切片只获取所需分页数据,显著提升了查询速度。同时,介绍了如何利用Django的`count()`方法高效获取数据数量,并讨论了在大数据量情况下,使用pandas的`read_sql`读取大表时内存消耗过大的问题。
摘要由CSDN通过智能技术生成

要做一个分页,发现前端页面卡死,原因因为数据量太大,百万级数据,经过优化查询方法,已经没问题了,页面数据都可以快速展示


1、先来看一组让页面卡死的代码:


 
 
def aaa(request):  page = request.GET.get('page')  start = (int(page) - 1) * 15 + 1  end = start + 15  all_arts = Article.objects.values("id","title").filter(type="python")  paginator = Paginator(all_arts, 15)  arts = all_arts[start:end]  product_list = paginator.page(page)get('page')
  start = (int(page) - 1) * 15 + 1
  end = start + 15

  all_arts = Article.objects.values("id",
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值