Search Postgresql Archives

Actual rows significantly more than estimated during many joins

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear all,

I'm performing a query with many joins, with a WHERE condition on the
"root" table. As far as I am aware, each join is indexed, as is the
WHERE clause. To my simple mind, this is just a case of taking a set of
conditional indexed values, and then "adding on" the relevant indexed
data.

When I run EXPLAIN ANALYZE, I see that the actual query is scanning
significantly more rows for the join than was estimated. There is also
a huge number of loops for the joins. Why is this, and is there an easy
fix?

Rightly or wrongly I am trying to keep my software database-agnostic,
so it's an ORM generating the statement, so ideally I'd like a fix
without restructuring the statement significantly or using specialist
Pg syntax.

I've pasted the EXPLAIN and query below. Apologies for the long lines,
but I couldn't see any better way of showing it without pasting
on-line, and then it wouldn't be in the archives.

Any help or comments would be appreciated.

Thanks,

Andy



 Sort  (cost=3376.92..3377.07 rows=61 width=8) (actual time=59230.618..60650.868 rows=1048624 loops=1)
   Sort Key: me.id
   Sort Method: external sort  Disk: 18464kB
   Buffers: shared hit=13374435, temp read=2308 written=2308
   ->  Nested Loop Left Join  (cost=220.91..3375.11 rows=61 width=8) (actual time=0.554..57363.104 rows=1048624 loops=1)
         Buffers: shared hit=13374435
         ->  Nested Loop Left Join  (cost=220.48..3295.38 rows=60 width=16) (actual time=0.540..41638.047 rows=1048624 loops=1)
               Buffers: shared hit=9179928
               ->  Nested Loop Left Join  (cost=220.06..3219.63 rows=57 width=16) (actual time=0.532..25942.789 rows=1048624 loops=1)
                     Buffers: shared hit=4985421
                     ->  Nested Loop Left Join  (cost=219.63..3146.54 rows=55 width=16) (actual time=0.523..16013.263 rows=524336 loops=1)
                           Buffers: shared hit=2888066
                           ->  Nested Loop Left Join  (cost=219.34..3126.10 rows=55 width=16) (actual time=0.512..12234.358 rows=262192 loops=1)
                                 Buffers: shared hit=2101489
                                 ->  Nested Loop Left Join  (cost=218.92..3053.01 rows=55 width=16) (actual time=0.501..8255.675 rows=262192 loops=1)
                                       Buffers: shared hit=1052710
                                       ->  Nested Loop Left Join  (cost=218.49..2911.40 rows=55 width=16) (actual time=0.489..4132.432 rows=131120 loops=1)
                                             Buffers: shared hit=528208
                                             ->  Nested Loop Left Join  (cost=218.06..2769.79 rows=55 width=16) (actual time=0.478..2081.272 rows=65584 loops=1)
                                                   Buffers: shared hit=265850
                                                   ->  Nested Loop Left Join  (cost=217.63..2628.18 rows=55 width=16) (actual time=0.466..1049.648 rows=32816 loops=1)
                                                         Buffers: shared hit=134564
                                                         ->  Nested Loop Left Join  (cost=217.21..2486.57 rows=55 width=16) (actual time=0.456..533.318 rows=16432 loops=1)
                                                               Buffers: shared hit=68814
                                                               ->  Nested Loop Left Join  (cost=216.78..2344.96 rows=55 width=16) (actual time=0.445..274.378 rows=8240 loops=1)
                                                                     Buffers: shared hit=35832
                                                                     ->  Nested Loop Left Join  (cost=216.35..2203.35 rows=55 width=16) (actual time=0.433..143.907 rows=4144 loops=1)
                                                                           Buffers: shared hit=19234
                                                                           ->  Nested Loop Left Join  (cost=215.92..2061.74 rows=55 width=16) (actual time=0.423..77.844 rows=2096 loops=1)
                                                                                 Buffers: shared hit=10828
                                                                                 ->  Nested Loop Left Join  (cost=215.50..1920.13 rows=55 width=16) (actual time=0.413..44.077 rows=1072 loops=1)
                                                                                       Buffers: shared hit=6518
                                                                                       ->  Nested Loop Left Join  (cost=215.07..1778.52 rows=55 width=16) (actual time=0.403..26.580 rows=560 loops=1)
                                                                                             Buffers: shared hit=4256
                                                                                             ->  Nested Loop Left Join  (cost=214.64..1636.91 rows=55 width=16) (actual time=0.392..17.116 rows=304 loops=1)
                                                                                                   Buffers: shared hit=3018
                                                                                                   ->  Nested Loop Left Join  (cost=214.22..1563.38 rows=55 width=16) (actual time=0.378..13.003 rows=176 loops=1)
                                                                                                         Buffers: shared hit=2273
                                                                                                         ->  Nested Loop Left Join  (cost=213.79..1421.77 rows=55 width=16) (actual time=0.362..9.852 rows=112 loops=1)
                                                                                                               Buffers: shared hit=1803
                                                                                                               ->  Bitmap Heap Scan on current me  (cost=210.93..297.25 rows=49 width=16) (actual time=0.245..0.349 rows=49 loops=1)
                                                                                                                     Recheck Cond: ((id = 3472) OR (id = 3484) OR (id = 3510) OR (id = 3528) OR (id = 3553) OR (id = 3561) OR (id = 3571) OR (id = 3583) OR (id = 3591) OR (id = 3603) OR (id = 3612) OR (id = 3631) OR (id = 3641) OR (id = 3665) OR (id = 3671) OR (id = 3679) OR (id = 3693) OR (id = 3700) OR (id = 3708) OR (id = 3712) OR (id = 3742) OR (id = 3749) OR (id = 3758) OR (id = 3768) OR (id = 3778) OR (id = 8275) OR (id = 8312) OR (id = 8351) OR (id = 8512) OR (id = 8532) OR (id = 8550) OR (id = 8834) OR (id = 8859) OR (id = 14278) OR (id = 14674) OR (id = 14675) OR (id = 14676) OR (id = 14677) OR (id = 14678) OR (id = 14679) OR (id = 15036) OR (id = 15037) OR (id = 15039) OR (id = 15364) OR (id = 15395) OR (id = 15667) OR (id = 16135) OR (id = 18430) OR (id = 18916))
                                                                                                                     Heap Blocks: exact=21
                                                                                                                     Buffers: shared hit=119
                                                                                                                     ->  BitmapOr  (cost=210.93..210.93 rows=49 width=0) (actual time=0.235..0.235 rows=0 loops=1)
                                                                                                                           Buffers: shared hit=98
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.008..0.008 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3472)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.006..0.006 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3484)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3510)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3528)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3553)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3561)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3571)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3583)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3591)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3603)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3612)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3631)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3641)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3665)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3671)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3679)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3693)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3700)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3708)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3712)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3742)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3749)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3758)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3768)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 3778)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8275)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8312)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8351)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8512)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8532)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.002..0.002 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8550)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8834)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 8859)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14278)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14674)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14675)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14676)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14677)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14678)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 14679)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.005..0.005 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 15036)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 15037)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 15039)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 15364)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.005..0.005 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 15395)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.003..0.003 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 15667)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 16135)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.005..0.005 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 18430)
                                                                                                                                 Buffers: shared hit=2
                                                                                                                           ->  Bitmap Index Scan on current_pkey  (cost=0.00..4.29 rows=1 width=0) (actual time=0.004..0.004 rows=1 loops=1)
                                                                                                                                 Index Cond: (id = 18916)
                                                                                                                                 Buffers: shared hit=2
                                                                                                               ->  Nested Loop Left Join  (cost=2.86..22.94 rows=1 width=8) (actual time=0.099..0.184 rows=2 loops=49)
                                                                                                                     Buffers: shared hit=1684
                                                                                                                     ->  Nested Loop Left Join  (cost=2.43..20.36 rows=1 width=8) (actual time=0.084..0.139 rows=2 loops=49)
                                                                                                                           Buffers: shared hit=1342
                                                                                                                           ->  Nested Loop Left Join  (cost=2.00..17.79 rows=1 width=8) (actual time=0.068..0.106 rows=1 loops=49)
                                                                                                                                 Buffers: shared hit=1064
                                                                                                                                 ->  Nested Loop Left Join  (cost=1.57..15.22 rows=1 width=8) (actual time=0.053..0.079 rows=1 loops=49)
                                                                                                                                       Buffers: shared hit=818
                                                                                                                                       ->  Nested Loop Left Join  (cost=1.15..12.64 rows=1 width=8) (actual time=0.038..0.055 rows=1 loops=49)
                                                                                                                                             Buffers: shared hit=588
                                                                                                                                             ->  Nested Loop Left Join  (cost=0.72..10.07 rows=1 width=8) (actual time=0.023..0.032 rows=1 loops=49)
                                                                                                                                                   Buffers: shared hit=366
                                                                                                                                                   ->  Index Only Scan using record_pkey on record  (cost=0.29..7.49 rows=1 width=8) (actual time=0.005..0.006 rows=1 loops=49)
                                                                                                                                                         Index Cond: (id = me.record_id)
                                                                                                                                                         Heap Fetches: 49
                                                                                                                                                         Buffers: shared hit=148
                                                                                                                                                   ->  Index Scan using intgr_idx_record_id on intgr field100  (cost=0.43..2.56 rows=1 width=8) (actual time=0.014..0.017 rows=1 loops=49)
                                                                                                                                                         Index Cond: (record_id = record.id)
                                                                                                                                                         Filter: (layout_id = 100)
                                                                                                                                                         Rows Removed by Filter: 40
                                                                                                                                                         Buffers: shared hit=218
                                                                                                                                             ->  Index Scan using intgr_idx_record_id on intgr field101  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.014 rows=1 loops=50)
                                                                                                                                                   Index Cond: (record_id = record.id)
                                                                                                                                                   Filter: (layout_id = 101)
                                                                                                                                                   Rows Removed by Filter: 41
                                                                                                                                                   Buffers: shared hit=222
                                                                                                                                       ->  Index Scan using intgr_idx_record_id on intgr field102  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.014 rows=1 loops=52)
                                                                                                                                             Index Cond: (record_id = record.id)
                                                                                                                                             Filter: (layout_id = 102)
                                                                                                                                             Rows Removed by Filter: 42
                                                                                                                                             Buffers: shared hit=230
                                                                                                                                 ->  Index Scan using intgr_idx_record_id on intgr field103  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.015 rows=1 loops=56)
                                                                                                                                       Index Cond: (record_id = record.id)
                                                                                                                                       Filter: (layout_id = 103)
                                                                                                                                       Rows Removed by Filter: 45
                                                                                                                                       Buffers: shared hit=246
                                                                                                                           ->  Index Scan using intgr_idx_record_id on intgr field104  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.016 rows=1 loops=64)
                                                                                                                                 Index Cond: (record_id = record.id)
                                                                                                                                 Filter: (layout_id = 104)
                                                                                                                                 Rows Removed by Filter: 49
                                                                                                                                 Buffers: shared hit=278
                                                                                                                     ->  Index Scan using intgr_idx_record_id on intgr field105  (cost=0.43..2.56 rows=1 width=8) (actual time=0.009..0.018 rows=1 loops=80)
                                                                                                                           Index Cond: (record_id = record.id)
                                                                                                                           Filter: (layout_id = 105)
                                                                                                                           Rows Removed by Filter: 55
                                                                                                                           Buffers: shared hit=342
                                                                                                         ->  Index Scan using intgr_idx_record_id on intgr field106  (cost=0.43..2.56 rows=1 width=8) (actual time=0.008..0.020 rows=2 loops=112)
                                                                                                               Index Cond: (record_id = record.id)
                                                                                                               Filter: (layout_id = 106)
                                                                                                               Rows Removed by Filter: 61
                                                                                                               Buffers: shared hit=470
                                                                                                   ->  Index Scan using string_idx_record_id on string field122  (cost=0.42..1.33 rows=1 width=8) (actual time=0.008..0.015 rows=2 loops=176)
                                                                                                         Index Cond: (record_id = record.id)
                                                                                                         Filter: (layout_id = 122)
                                                                                                         Rows Removed by Filter: 15
                                                                                                         Buffers: shared hit=745
                                                                                             ->  Index Scan using intgr_idx_record_id on intgr field145  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.023 rows=2 loops=304)
                                                                                                   Index Cond: (record_id = record.id)
                                                                                                   Filter: (layout_id = 145)
                                                                                                   Rows Removed by Filter: 71
                                                                                                   Buffers: shared hit=1238
                                                                                       ->  Index Scan using intgr_idx_record_id on intgr field173  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.023 rows=2 loops=560)
                                                                                             Index Cond: (record_id = record.id)
                                                                                             Filter: (layout_id = 173)
                                                                                             Rows Removed by Filter: 74
                                                                                             Buffers: shared hit=2262
                                                                                 ->  Index Scan using intgr_idx_record_id on intgr field174  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.023 rows=2 loops=1072)
                                                                                       Index Cond: (record_id = record.id)
                                                                                       Filter: (layout_id = 174)
                                                                                       Rows Removed by Filter: 75
                                                                                       Buffers: shared hit=4310
                                                                           ->  Index Scan using intgr_idx_record_id on intgr field175  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.023 rows=2 loops=2096)
                                                                                 Index Cond: (record_id = record.id)
                                                                                 Filter: (layout_id = 175)
                                                                                 Rows Removed by Filter: 76
                                                                                 Buffers: shared hit=8406
                                                                     ->  Index Scan using intgr_idx_record_id on intgr field176  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.023 rows=2 loops=4144)
                                                                           Index Cond: (record_id = record.id)
                                                                           Filter: (layout_id = 176)
                                                                           Rows Removed by Filter: 77
                                                                           Buffers: shared hit=16598
                                                               ->  Index Scan using intgr_idx_record_id on intgr field177  (cost=0.43..2.56 rows=1 width=8) (actual time=0.011..0.023 rows=2 loops=8240)
                                                                     Index Cond: (record_id = record.id)
                                                                     Filter: (layout_id = 177)
                                                                     Rows Removed by Filter: 77
                                                                     Buffers: shared hit=32982
                                                         ->  Index Scan using intgr_idx_record_id on intgr field178  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.023 rows=2 loops=16432)
                                                               Index Cond: (record_id = record.id)
                                                               Filter: (layout_id = 178)
                                                               Rows Removed by Filter: 77
                                                               Buffers: shared hit=65750
                                                   ->  Index Scan using intgr_idx_record_id on intgr field179  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.023 rows=2 loops=32816)
                                                         Index Cond: (record_id = record.id)
                                                         Filter: (layout_id = 179)
                                                         Rows Removed by Filter: 77
                                                         Buffers: shared hit=131286
                                             ->  Index Scan using intgr_idx_record_id on intgr field180  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.023 rows=2 loops=65584)
                                                   Index Cond: (record_id = record.id)
                                                   Filter: (layout_id = 180)
                                                   Rows Removed by Filter: 77
                                                   Buffers: shared hit=262358
                                       ->  Index Scan using intgr_idx_record_id on intgr field181  (cost=0.43..2.56 rows=1 width=8) (actual time=0.010..0.023 rows=2 loops=131120)
                                             Index Cond: (record_id = record.id)
                                             Filter: (layout_id = 181)
                                             Rows Removed by Filter: 77
                                             Buffers: shared hit=524502
                                 ->  Index Scan using enum_idx_record_id on enum field33  (cost=0.42..1.32 rows=1 width=12) (actual time=0.007..0.010 rows=1 loops=262192)
                                       Index Cond: (record_id = record.id)
                                       Filter: (layout_id = 33)
                                       Rows Removed by Filter: 22
                                       Buffers: shared hit=1048779
                           ->  Index Scan using daterange_idx_record_id on daterange field39  (cost=0.29..0.36 rows=1 width=8) (actual time=0.003..0.006 rows=2 loops=262192)
                                 Index Cond: (record_id = record.id)
                                 Filter: (layout_id = 39)
                                 Buffers: shared hit=786577
                     ->  Index Scan using enum_idx_record_id on enum field41  (cost=0.42..1.32 rows=1 width=12) (actual time=0.008..0.011 rows=2 loops=524336)
                           Index Cond: (record_id = record.id)
                           Filter: (layout_id = 41)
                           Rows Removed by Filter: 21
                           Buffers: shared hit=2097355
               ->  Index Scan using enum_idx_record_id on enum field36  (cost=0.42..1.32 rows=1 width=12) (actual time=0.007..0.009 rows=1 loops=1048624)
                     Index Cond: (record_id = record.id)
                     Filter: (layout_id = 36)
                     Rows Removed by Filter: 22
                     Buffers: shared hit=4194507
         ->  Index Scan using enum_idx_record_id on enum field42  (cost=0.42..1.32 rows=1 width=8) (actual time=0.004..0.009 rows=1 loops=1048624)
               Index Cond: (record_id = record.id)
               Filter: (layout_id = 42)
               Rows Removed by Filter: 22
               Buffers: shared hit=4194507
 Planning time: 10.886 ms
 Execution time: 62010.404 ms
(325 rows)


SELECT "me"."id"
FROM   "current" "me"
       left join "record" "record"
              ON "record"."id" = "me"."record_id"
       left join "intgr" "field100"
              ON ( "field100"."layout_id" = 100
                   AND "field100"."record_id" = "record"."id" )
       left join "intgr" "field101"
              ON ( "field101"."layout_id" = 101
                   AND "field101"."record_id" = "record"."id" )
       left join "intgr" "field102"
              ON ( "field102"."layout_id" = 102
                   AND "field102"."record_id" = "record"."id" )
       left join "intgr" "field103"
              ON ( "field103"."layout_id" = 103
                   AND "field103"."record_id" = "record"."id" )
       left join "intgr" "field104"
              ON ( "field104"."layout_id" = 104
                   AND "field104"."record_id" = "record"."id" )
       left join "intgr" "field105"
              ON ( "field105"."layout_id" = 105
                   AND "field105"."record_id" = "record"."id" )
       left join "intgr" "field106"
              ON ( "field106"."layout_id" = 106
                   AND "field106"."record_id" = "record"."id" )
       left join "string" "field122"
              ON ( "field122"."layout_id" = 122
                   AND "field122"."record_id" = "record"."id" )
       left join "intgr" "field145"
              ON ( "field145"."layout_id" = 145
                   AND "field145"."record_id" = "record"."id" )
       left join "intgr" "field173"
              ON ( "field173"."layout_id" = 173
                   AND "field173"."record_id" = "record"."id" )
       left join "intgr" "field174"
              ON ( "field174"."layout_id" = 174
                   AND "field174"."record_id" = "record"."id" )
       left join "intgr" "field175"
              ON ( "field175"."layout_id" = 175
                   AND "field175"."record_id" = "record"."id" )
       left join "intgr" "field176"
              ON ( "field176"."layout_id" = 176
                   AND "field176"."record_id" = "record"."id" )
       left join "intgr" "field177"
              ON ( "field177"."layout_id" = 177
                   AND "field177"."record_id" = "record"."id" )
       left join "intgr" "field178"
              ON ( "field178"."layout_id" = 178
                   AND "field178"."record_id" = "record"."id" )
       left join "intgr" "field179"
              ON ( "field179"."layout_id" = 179
                   AND "field179"."record_id" = "record"."id" )
       left join "intgr" "field180"
              ON ( "field180"."layout_id" = 180
                   AND "field180"."record_id" = "record"."id" )
       left join "intgr" "field181"
              ON ( "field181"."layout_id" = 181
                   AND "field181"."record_id" = "record"."id" )
       left join "calcval" "field182"
              ON ( "field182"."layout_id" = 182
                   AND "field182"."record_id" = "record"."id" )
       left join "enum" "field33"
              ON ( "field33"."layout_id" = 33
                   AND "field33"."record_id" = "record"."id" )
       left join "enumval" "value"
              ON "value"."id" = "field33"."value"
       left join "calcval" "field35"
              ON ( "field35"."layout_id" = 35
                   AND "field35"."record_id" = "record"."id" )
       left join "enum" "field36"
              ON ( "field36"."layout_id" = 36
                   AND "field36"."record_id" = "record"."id" )
       left join "enumval" "value_2"
              ON "value_2"."id" = "field36"."value"
       left join "daterange" "field39"
              ON ( "field39"."layout_id" = 39
                   AND "field39"."record_id" = "record"."id" )
       left join "enum" "field41"
              ON ( "field41"."layout_id" = 41
                   AND "field41"."record_id" = "record"."id" )
       left join "enumval" "value_3"
              ON "value_3"."id" = "field41"."value"
       left join "enum" "field42"
              ON ( "field42"."layout_id" = 42
                   AND "field42"."record_id" = "record"."id" )
WHERE  (( "me"."id" = 3472
           OR "me"."id" = 3484
           OR "me"."id" = 3510
           OR "me"."id" = 3528
           OR "me"."id" = 3553
           OR "me"."id" = 3561
           OR "me"."id" = 3571
           OR "me"."id" = 3583
           OR "me"."id" = 3591
           OR "me"."id" = 3603
           OR "me"."id" = 3612
           OR "me"."id" = 3631
           OR "me"."id" = 3641
           OR "me"."id" = 3665
           OR "me"."id" = 3671
           OR "me"."id" = 3679
           OR "me"."id" = 3693
           OR "me"."id" = 3700
           OR "me"."id" = 3708
           OR "me"."id" = 3712
           OR "me"."id" = 3742
           OR "me"."id" = 3749
           OR "me"."id" = 3758
           OR "me"."id" = 3768
           OR "me"."id" = 3778
           OR "me"."id" = 8275
           OR "me"."id" = 8312
           OR "me"."id" = 8351
           OR "me"."id" = 8512
           OR "me"."id" = 8532
           OR "me"."id" = 8550
           OR "me"."id" = 8834
           OR "me"."id" = 8859
           OR "me"."id" = 14278
           OR "me"."id" = 14674
           OR "me"."id" = 14675
           OR "me"."id" = 14676
           OR "me"."id" = 14677
           OR "me"."id" = 14678
           OR "me"."id" = 14679
           OR "me"."id" = 15036
           OR "me"."id" = 15037
           OR "me"."id" = 15039
           OR "me"."id" = 15364
           OR "me"."id" = 15395
           OR "me"."id" = 15667
           OR "me"."id" = 16135
           OR "me"."id" = 18430
           OR "me"."id" = 18916 ))
ORDER  BY "me"."id" ASC; 


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux