04 2016 档案
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) 推荐(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) 推荐(0)
Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(一)
摘要:在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能。本文通过一个简单的例子详解这两个函数的作用。虽然QuerySet的文档中已经详细说明了,但本文试图从QuerySet触发的SQL语句来分析工作方式,从 阅读全文
posted @ 2016-04-12 10:23 Edifier_7 阅读(172) 评论(0) 推荐(0)