【发布时间】:2012-11-25 23:53:33
【问题描述】:
我有一些代码导致我的页面加载速度很慢(128 毫秒内有 49 个查询)。这是我网站的着陆页——所以它需要快速加载。
以下是我的views.py,它在网站上创建了最新更新的提要,并导致我在调试工具栏中看到的加载时间最慢:
def product_feed(request):
""" Return all site activity from friends, etc. """
latestparts = Part.objects.all().prefetch_related('uniparts').order_by('-added')
latestdesigns = Design.objects.all().order_by('-added')
latest = list(latestparts) + list(latestdesigns)
latestupdates = sorted (latest, key = lambda x: x.added, reverse = True)
latestupdates = latestupdates [0:8]
# only get the unique avatars that we need to put on the page so we're not pinging for images for each update
uniqueusers = User.objects.filter(id__in = Part.objects.values_list('adder', flat=True))
return render_to_response("homepage.html", {
"uniqueusers": uniqueusers,
"latestupdates": latestupdates
}, context_instance=RequestContext(request))
导致时间最多的查询似乎是:
latest = list(latestparts) + list(latestdesigns) (25ms)
我也在调查另一个分别是 17 毫秒(全站公告)和 25 毫秒(在每个产品提要项目上添加标记项目)的项目。
有没有人看到我可以优化我的活动提要加载的任何方法?
【问题讨论】:
标签: django