• 
      

    Reduce profile queries in the datagrids.

    Review Request #8875 — Created April 5, 2017 and submitted

    Information

    Review Board
    release-3.0.x
    4606180...

    Reviewers

    The introduction of avatar support caused performance degradations in
    the datagrids due to the way profiles are fetched. Every entry had a
    get_profile() call, which performed a database lookup, which made the
    dashboard and other datagrids very slow.

    To solve this, the columns now do a select_related() on the profile
    field, and get_profile() has been updated to reuse the same caching
    variable that's populated for the relation. This means that if a profile
    is ever included using select_related() or looked up using the field
    relation, we can call get_profile() without performing an additional
    lookup.

    Verified that the dashboard, All Review Requests, and user pages no
    longer have a profile query per datagrid entry.

    Unit tests pass.

    Description From Last Updated

    Typo in description: "very slo"

    david david
    david
    1. 
        
    2. Show all issues

      Typo in description: "very slo"

      1. The 'w' was coming in. Just wasn't there yet. It was that slow.

    3. 
        
    chipx86
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-3.0.x (4a9dc80)