ORM-性能相关

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')
            拿指定字段之外的字段,取反的意思
幻想毫无价值,计划渺如尘埃,目标不可能达到。这一切的一切毫无意义——除非我们付诸行动。
原文地址:https://www.cnblogs.com/TodayWind/p/13883623.html