ORM性能相关
- ORM性能相关
1. [{} ]
all_users = models.User.objects.all().values('name','age','role__name')
2. [ 对象 ]
all_users = models.User.objects.all()
用的时候注意,只拿自己表中的字段,别跨表
3. select_related (外键、一对一)
做联表只查一次
all_users = models.User.objects.all().select_related('role')
4. prefetch_related (role)
做子查询,查询多次,跨几张表就查询几次
all_users = models.User.objects.all().prefetch_related('role')
5. only
all_users = models.User.objects.all().only('name')
用的时候注意,只拿自己指定的字段
6. defer
all_users = models.User.objects.all().defer('name')
拿指定字段之外的字段,取反的意思