Django性能优化
学习通过查询优化、缓存、懒加载等技术提升Django应用性能。 · 难度:入门 · +15XP
Django性能优化
性能优化涉及数据库查询、缓存、代码逻辑等多个方面。
数据库优化
| 技术 | 说明 |
|---|---|
| select_related | 解决外键的N+1查询 |
| prefetch_related | 解决多对多关系 |
| only/defer | 只加载需要的字段 |
# 使用select_related
articles = Article.objects.select_related('author').all()
# 使用only
articles = Article.objects.only('title', 'created_at')缓存查询结果
from django.core.cache import cache
def get_popular_articles():
articles = cache.get('popular_articles')
if not articles:
articles = Article.objects.filter(views__gt=1000)
cache.set('popular_articles', articles, 300)
return articles练习提示
优化下面的查询,使用 select_related 减少数据库查询次数。