{"shas":[["d308ca185464f81837d220fb6c081f3a09874094","474ba67bdb289c6263b36dfd8a7bed6c85b04943@mozilla.com","Optimize forums.view.forums.\n\n* Use select_related() to get last_post and last_post__author in one query.\n* Use extra() to tack on the number of threads.\n\nWith a warm cache, before: 35 queries. after: 19.","James Socol"],["6e0bb51ae4a05e7e584aa9a13ab29b3367047c59","474ba67bdb289c6263b36dfd8a7bed6c85b04943@mozilla.com","Optimize forums.views.threads.\n\n* select_related() for last_post, creator, and last_post__author\n* Add count param to Paginator to skip expensive joins in SELECT COUNT(*)","James Socol"],["47d0cd8756829da30134fefd4c9795ad6d2b1d95","474ba67bdb289c6263b36dfd8a7bed6c85b04943@mozilla.com","Optimize forums.views.posts.\n\n* select_related() for author and updated_by.\n* extra() to select author post counts. They don't hit the cache for some\n  reason.\n* has_perm_or_owns can now compare PK==FK to skip a query.\n* has_perm_or_owns bail early on anonymous users.","James Socol"]],"repo":"jsocol/kitsune","actor":"jsocol","ref":"refs/heads/master","size":3,"head":"47d0cd8756829da30134fefd4c9795ad6d2b1d95","actor_gravatar":"8371744716a9335eb3dcae228fd9d996","push_id":26845893}