zoukankan      html  css  js  c++  java
  • python django ORM 性能优化 select_related & prefetch_related

        q = models.UserInfo.objects.all()
        select * from userinfo
        select * from userinfo inner join usertype on ...
        for row in q:
            print(row.name,row.ut.title)
    
        select_related: 查询主动做连表
        q = models.UserInfo.objects.all().select_related('ut','gp')
        select * from userinfo
        select * from userinfo inner join usertype on ...
        for row in q:
            print(row.name,row.ut.title)
    
        prefetch_related: 不做连表,做多次查询
        q = models.UserInfo.objects.all().prefetch_related('ut')
        select * from userinfo;
        Django内部:ut_id = [2,4]
        select * from usertype where id in [2,4]
        for row in q:
            print(row.id,row.ut.title)
    

      

  • 相关阅读:
    实验4
    实验3
    第七章例7-14
    第七章例7-13
    第七章例7-12
    第七章例7-11
    第七章例7-10
    diyiti
    disanti
    第二题
  • 原文地址:https://www.cnblogs.com/morgana/p/8490807.html
Copyright © 2011-2022 走看看