ORM

Django ORM性能优化清单

发布于 2025-10-14 01:05:31

ORM易写但易慢,关键在查询数与返回量。首先使用select_related优化一对一/外键,prefetch_related优化一对多/多对多;其次只取所需字段values/only/defer降低IO;再次用exists判断存在性,不要count全表;聚合统计使用annotate避免Python层循环。必要时加索引并关注迁移顺序。示例:

qs = (Book.objects
      .select_related("publisher")
      .prefetch_related("authors")
      .only("id","title","publisher__name"))
0 条评论

发布
问题