使用[:max]时Django过滤性能

时间:2013-04-19 22:15:07

标签: python django

假设我有一个包含100000个条目的表,但我这样做:

a = model.object.all()[:10]

SQL会将请求限制为10还是Django会生成一个SQL来获取所有表并向我提供10个条目?

这可能比Django更多的是Python问题,但我想确保我没有做错事。

1 个答案:

答案 0 :(得分:5)

Django将使用SQL LIMIT。


class M(models.Model):
    pass

... 

print M.objects.all()[:10].query
# SELECT "app_m"."id" FROM "app_m" LIMIT 10