尽量不要使用Django select_related()
阅读量(403) | 发表 于 2011-12-02 00:00:08
Django的select_related()在1.3.1之前(包括1.3.1)都存在性能的问题,今天使用debug_toolbar大概测试了一下,depth=1,发现性能损失了20%以上,如果不指定depth,model关系复杂的时候,可能会损失更多。select_related()对关联多的实体本身是一个很好的方案,采用了内连接,减少数据库多次发起连接动作,按理来说性能会更优,但很奇怪,测试结果却相反。
自己的测试的实体集合,不采用select_related(),耗时76ms,sql连接数47,而用了select_related()后,耗时97ms,sql连接数37。
标签: Django
和谐社会,和气评论,勿谈国是