Comment 3 for bug 746866

Revision history for this message
Robert Collins (lifeless) wrote :

 explain analyze with bugbranches as (select bugbranch.bug, bugbranch.branch from bugbranch where branch in (451217, 451208, 451207, 451206, 310641, 450226, 449792, 449762, 449192, 449190, 444685, 439423, 436128, 421710, 317004, 374978, 404904, 412011, 411115, 245099, 400223, 377965, 373979, 372939, 372691, 362490, 362566, 362564, 361252, 359795, 359423, 357633, 355943, 348553,
322307, 319438, 316198, 316197, 315929, 310090, 308190, 305716, 305524, 296541, 294443, 245102, 275463, 273980, 40682, 34254, 175815, 152799, 115607, 81913, 81670, 62623, 52209, 42949, 39318, 38448, 37654, 12332, 30797, 21766, 13518, 16918, 12486, 10605, 10457, 5670, 9447, 7882, 4233, 3674, 2510, 2469))
(SELECT BugBranches.branch
FROM Bug, BugBranches
WHERE Bug.id = BugBranches.bug
  AND Bug.private = FALSE)
UNION
(SELECT BugBranches.branch
FROM Bug, BugBranches
WHERE Bug.id = BugBranches.bug
  AND Bug.private AND Bug.id IN
         (SELECT BugSubscription.bug
          FROM BugSubscription,
               TeamParticipation
          WHERE TeamParticipation.team = BugSubscription.person
            AND TeamParticipation.person = 67034));
                                                                                                                                                                                                                                                                              QUERY PLAN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 HashAggregate (cost=13604.15..13606.09 rows=194 width=4) (actual time=450.964..450.970 rows=18 loops=1)
   CTE bugbranches
     -> Seq Scan on bugbranch (cost=0.00..9341.04 rows=97 width=8) (actual time=1.584..160.240 rows=18 loops=1)
           Filter: (branch = ANY ('{451217,451208,451207,451206,310641,450226,449792,449762,449192,449190,444685,439423,436128,421710,317004,374978,404904,412011,411115,245099,400223,377965,373979,372939,372691,362490,362566,362564,361252,359795,359423,357633,355943,348553,322307,319438,316198,316197,315929,310090,308190,305716,305524,296541,294443,245102,275463,273980,40682,34254,175815,152799,115607,81913,81670,62623,52209,42949,39318,38448,37654,12332,30797,21766,13518,16918,12486,10605,10457,5670,9447,7882,4233,3674,2510,2469}'::integer[]))
   -> Append (cost=0.00..4262.63 rows=194 width=4) (actual time=1.615..450.934 rows=18 loops=1)
         -> Nested Loop (cost=0.00..619.49 rows=97 width=4) (actual time=1.614..160.601 rows=18 loops=1)
               -> CTE Scan on bugbranches (cost=0.00..1.94 rows=97 width=8) (actual time=1.590..160.289 rows=18 loops=1)
               -> Index Scan using bug_pkey on bug (cost=0.00..6.35 rows=1 width=4) (actual time=0.015..0.015 rows=1 loops=18)
                     Index Cond: (public.bug.id = bugbranches.bug)
                     Filter: (NOT public.bug.private)
         -> Nested Loop (cost=2967.78..3641.20 rows=97 width=4) (actual time=290.323..290.323 rows=0 loops=1)
               -> Hash Join (cost=2967.78..3023.65 rows=97 width=12) (actual time=226.778..290.147 rows=9 loops=1)
                     Hash Cond: (bugsubscription.bug = bugbranches.bug)
                     -> HashAggregate (cost=2964.63..3005.25 rows=4062 width=4) (actual time=208.495..267.164 rows=129510 loops=1)
                           -> Nested Loop (cost=0.00..2954.48 rows=4062 width=4) (actual time=0.048..116.630 rows=130835 loops=1)
                                 -> Index Scan using teamparticipation_person_idx on teamparticipation (cost=0.00..273.54 rows=106 width=4) (actual time=0.018..0.148 rows=98 loops=1)
                                       Index Cond: (person = 67034)
                                 -> Index Scan using bugsubscription_person_idx on bugsubscription (cost=0.00..25.17 rows=10 width=8) (actual time=0.006..0.779 rows=1335 loops=98)
                                       Index Cond: (bugsubscription.person = teamparticipation.team)
                     -> Hash (cost=1.94..1.94 rows=97 width=8) (actual time=0.030..0.030 rows=18 loops=1)
                           -> CTE Scan on bugbranches (cost=0.00..1.94 rows=97 width=8) (actual time=0.003..0.008 rows=18 loops=1)
               -> Index Scan using bug_pkey on bug (cost=0.00..6.35 rows=1 width=4) (actual time=0.017..0.017 rows=0 loops=9)
                     Index Cond: (public.bug.id = bugbranches.bug)
                     Filter: public.bug.private
 Total runtime: 451.182 ms
(25 rows)