Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)
摘要:4.一些实例 如果我们想要获得所有家乡是湖北的人,最无脑的做法是先获得湖北省,再获得湖北的所有城市,最后获得故乡是这个城市的人。就像这样: 1 2 3 4 5 >>> hb = Province.objects.get(name__iexact=u"湖北省") >>> people = [] >>>
阅读全文
posted @
2016-04-12 10:26
Edifier_7
阅读(117)
推荐(0)
Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(二)
摘要:3. prefetch_related() 对于多对多字段(ManyToManyField)和一对多字段,可以使用prefetch_related()来进行优化。或许你会说,没有一个叫OneToManyField的东西啊。实际上 ,ForeignKey就是一个多对一的字段,而被ForeignKey关
阅读全文
posted @
2016-04-12 10:25
Edifier_7
阅读(110)
推荐(0)
Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
摘要:在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能。本文通过一个简单的例子详解这两个函数的作用。虽然QuerySet的文档中已经详细说明了,但本文试图从QuerySet触发的SQL语句来分析工作方式,从
阅读全文
posted @
2016-04-12 10:23
Edifier_7
阅读(172)
推荐(0)