Page MenuHomePhabricator

Don't issue a bazillion queries to load Differential object lists
ClosedPublic

Authored by epriestley on Feb 19 2014, 1:35 AM.
Tags
None
Referenced Files
F15503238: D8277.id19696.diff
Mon, Apr 14, 8:16 AM
F15489785: D8277.id19697.diff
Fri, Apr 11, 12:16 PM
F15478082: D8277.id.diff
Mon, Apr 7, 8:27 PM
F15475674: D8277.diff
Sun, Apr 6, 9:26 PM
F15473118: D8277.diff
Sat, Apr 5, 7:42 PM
F15444549: D8277.id.diff
Thu, Mar 27, 10:01 AM
F15440419: D8277.id19697.diff
Wed, Mar 26, 12:47 PM
F15418883: D8277.id19697.diff
Fri, Mar 21, 2:05 AM
Subscribers
Tokens
"Mountain of Wealth" token, awarded by chad."Mountain of Wealth" token, awarded by btrahan.

Details

Reviewers
btrahan
Maniphest Tasks
Restricted Maniphest Task
Commits
Restricted Diffusion Commit
rP50ed42761ce9: Don't issue a bazillion queries to load Differential object lists
Summary

Ref T3496. Currently, we call loadAssets() on each revision table, which invokes a new revision query and a pile of subqueries.

Instead, add needFlags() and needDrafts() to RevisionQuery. Some day these could perhaps be more generic.

Test Plan
  • Viewed home, differential, etc., no longer saw 9203809238 queries being run for no reason.
  • Drafts and flags still appear properly.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

awesometown

divided by

9203809238

equals

awesometown

well okay 9203809238 is more like 9 or something but that's still more than 0!!~