Merge "[ui] optimize sched subquery in process sorting"
diff --git a/ui/src/controller/track_decider.ts b/ui/src/controller/track_decider.ts
index 769c922..32ac21e 100644
--- a/ui/src/controller/track_decider.ts
+++ b/ui/src/controller/track_decider.ts
@@ -1262,9 +1262,14 @@
       union
       select distinct(upid) as upid, 0 as utid from heap_graph_object
     ) the_tracks
-    left join (select upid, sum(dur) as total_dur
-      from sched join thread using(utid)
-      where dur != -1 and utid != 0
+    left join (
+      select upid, sum(thread_total_dur) as total_dur
+      from (
+        select utid, sum(dur) as thread_total_dur
+        from sched where dur != -1 and utid != 0
+        group by utid
+      )
+      join thread using (utid)
       group by upid
     ) using(upid)
     left join (