Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------
- CURRENT MASTER (LEFT JOINs, no check for null ATTR in next function up)
- -------------------------------------------------------------------------------
- QUERY PLAN
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Aggregate (cost=141.39..141.40 rows=1 width=83) (actual time=1.040..1.040 rows=1 loops=1)
- -> Hash Right Join (cost=124.10..141.34 rows=20 width=83) (actual time=0.360..0.755 rows=17 loops=1)
- Hash Cond: ((cvm.ctype = mra.attr) AND (cvm.code = mra.value))
- -> Seq Scan on coded_value_map cvm (cost=0.00..12.42 rows=642 width=29) (actual time=0.006..0.135 rows=642 loops=1)
- -> Hash (cost=123.80..123.80 rows=20 width=68) (actual time=0.334..0.334 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Hash Join (cost=122.16..123.80 rows=20 width=68) (actual time=0.288..0.320 rows=17 loops=1)
- Hash Cond: (rad.name = mra.attr)
- -> Seq Scan on record_attr_definition rad (cost=0.00..1.32 rows=32 width=36) (actual time=0.007..0.016 rows=35 loops=1)
- -> Hash (cost=121.91..121.91 rows=20 width=64) (actual time=0.254..0.254 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Subquery Scan on mra (cost=121.51..121.91 rows=20 width=64) (actual time=0.230..0.241 rows=17 loops=1)
- -> HashAggregate (cost=121.51..121.71 rows=20 width=20) (actual time=0.229..0.234 rows=17 loops=1)
- -> Append (cost=42.63..121.36 rows=20 width=20) (actual time=0.112..0.205 rows=17 loops=1)
- -> Nested Loop Left Join (cost=42.63..87.70 rows=10 width=17) (actual time=0.111..0.126 rows=9 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.014..0.015 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on uncontrolled_record_attr_value m (cost=42.63..78.93 rows=10 width=17) (actual time=0.091..0.104 rows=9 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on uncontrolled_record_attr_value_pkey (cost=0.00..42.63 rows=10 width=0) (actual time=0.079..0.079 rows=9 loops=1)
- Index Cond: (id = ANY (v.vlist))
- -> Nested Loop Left Join (cost=18.59..33.46 rows=10 width=22) (actual time=0.064..0.073 rows=8 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.006..0.007 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on coded_value_map c (cost=18.59..24.69 rows=10 width=18) (actual time=0.054..0.058 rows=8 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on coded_value_map_pkey (cost=0.00..18.59 rows=10 width=0) (actual time=0.044..0.044 rows=8 loops=1)
- Index Cond: (id = ANY (v.vlist))
- Total runtime: 1.183 ms
- (29 rows)
- -------------------------------------------------------------------------------
- REPLACE LEFT JOINS WITH INNER JOINS
- -------------------------------------------------------------------------------
- QUERY PLAN
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Aggregate (cost=141.39..141.40 rows=1 width=83) (actual time=0.968..0.968 rows=1 loops=1)
- -> Hash Right Join (cost=124.10..141.34 rows=20 width=83) (actual time=0.312..0.709 rows=17 loops=1)
- Hash Cond: ((cvm.ctype = mra.attr) AND (cvm.code = mra.value))
- -> Seq Scan on coded_value_map cvm (cost=0.00..12.42 rows=642 width=29) (actual time=0.005..0.108 rows=642 loops=1)
- -> Hash (cost=123.80..123.80 rows=20 width=68) (actual time=0.286..0.286 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Hash Join (cost=122.16..123.80 rows=20 width=68) (actual time=0.240..0.269 rows=17 loops=1)
- Hash Cond: (rad.name = mra.attr)
- -> Seq Scan on record_attr_definition rad (cost=0.00..1.32 rows=32 width=36) (actual time=0.006..0.012 rows=35 loops=1)
- -> Hash (cost=121.91..121.91 rows=20 width=64) (actual time=0.223..0.223 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Subquery Scan on mra (cost=121.51..121.91 rows=20 width=64) (actual time=0.199..0.210 rows=17 loops=1)
- -> HashAggregate (cost=121.51..121.71 rows=20 width=20) (actual time=0.199..0.206 rows=17 loops=1)
- -> Append (cost=42.63..121.36 rows=20 width=20) (actual time=0.094..0.178 rows=17 loops=1)
- -> Nested Loop (cost=42.63..87.70 rows=10 width=17) (actual time=0.094..0.110 rows=9 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.014..0.015 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on uncontrolled_record_attr_value m (cost=42.63..78.93 rows=10 width=17) (actual time=0.074..0.085 rows=9 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on uncontrolled_record_attr_value_pkey (cost=0.00..42.63 rows=10 width=0) (actual time=0.065..0.065 rows=9 loops=1)
- Index Cond: (id = ANY (v.vlist))
- -> Nested Loop (cost=18.59..33.46 rows=10 width=22) (actual time=0.053..0.061 rows=8 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.006..0.006 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on coded_value_map c (cost=18.59..24.69 rows=10 width=18) (actual time=0.044..0.051 rows=8 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on coded_value_map_pkey (cost=0.00..18.59 rows=10 width=0) (actual time=0.038..0.038 rows=8 loops=1)
- Index Cond: (id = ANY (v.vlist))
- Total runtime: 1.109 ms
- (29 rows)
- -------------------------------------------------------------------------------
- ADD CHECK FOR NULL ATTR IN RECORD_ATTR VIEW (WITH LEFT JOINS)
- -------------------------------------------------------------------------------
- QUERY PLAN
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Aggregate (cost=141.39..141.40 rows=1 width=83) (actual time=0.968..0.968 rows=1 loops=1)
- -> Hash Right Join (cost=124.10..141.34 rows=20 width=83) (actual time=0.311..0.706 rows=17 loops=1)
- Hash Cond: ((cvm.ctype = mra.attr) AND (cvm.code = mra.value))
- -> Seq Scan on coded_value_map cvm (cost=0.00..12.42 rows=642 width=29) (actual time=0.006..0.109 rows=642 loops=1)
- -> Hash (cost=123.80..123.80 rows=20 width=68) (actual time=0.285..0.285 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Hash Join (cost=122.16..123.80 rows=20 width=68) (actual time=0.239..0.269 rows=17 loops=1)
- Hash Cond: (rad.name = mra.attr)
- -> Seq Scan on record_attr_definition rad (cost=0.00..1.32 rows=32 width=36) (actual time=0.006..0.012 rows=35 loops=1)
- -> Hash (cost=121.91..121.91 rows=20 width=64) (actual time=0.221..0.221 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Subquery Scan on mra (cost=121.51..121.91 rows=20 width=64) (actual time=0.198..0.211 rows=17 loops=1)
- -> HashAggregate (cost=121.51..121.71 rows=20 width=20) (actual time=0.197..0.203 rows=17 loops=1)
- -> Append (cost=42.63..121.36 rows=20 width=20) (actual time=0.092..0.177 rows=17 loops=1)
- -> Nested Loop Left Join (cost=42.63..87.70 rows=10 width=17) (actual time=0.092..0.111 rows=9 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.013..0.014 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on uncontrolled_record_attr_value m (cost=42.63..78.93 rows=10 width=17) (actual time=0.073..0.084 rows=9 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on uncontrolled_record_attr_value_pkey (cost=0.00..42.63 rows=10 width=0) (actual time=0.064..0.064 rows=9 loops=1)
- Index Cond: (id = ANY (v.vlist))
- -> Nested Loop Left Join (cost=18.59..33.46 rows=10 width=22) (actual time=0.053..0.062 rows=8 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.006..0.006 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on coded_value_map c (cost=18.59..24.69 rows=10 width=18) (actual time=0.043..0.049 rows=8 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on coded_value_map_pkey (cost=0.00..18.59 rows=10 width=0) (actual time=0.038..0.038 rows=8 loops=1)
- Index Cond: (id = ANY (v.vlist))
- Total runtime: 1.110 ms
- (29 rows)
- -------------------------------------------------------------------------------
- REMOVE LEFT JOINS AND ADD CHECK FOR NULL ATTR IN RECORD_ATTR VIEW
- -------------------------------------------------------------------------------
- QUERY PLAN
- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Aggregate (cost=141.39..141.40 rows=1 width=83) (actual time=0.982..0.982 rows=1 loops=1)
- -> Hash Right Join (cost=124.10..141.34 rows=20 width=83) (actual time=0.324..0.717 rows=17 loops=1)
- Hash Cond: ((cvm.ctype = mra.attr) AND (cvm.code = mra.value))
- -> Seq Scan on coded_value_map cvm (cost=0.00..12.42 rows=642 width=29) (actual time=0.006..0.111 rows=642 loops=1)
- -> Hash (cost=123.80..123.80 rows=20 width=68) (actual time=0.298..0.298 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Hash Join (cost=122.16..123.80 rows=20 width=68) (actual time=0.254..0.283 rows=17 loops=1)
- Hash Cond: (rad.name = mra.attr)
- -> Seq Scan on record_attr_definition rad (cost=0.00..1.32 rows=32 width=36) (actual time=0.006..0.013 rows=35 loops=1)
- -> Hash (cost=121.91..121.91 rows=20 width=64) (actual time=0.232..0.232 rows=17 loops=1)
- Buckets: 1024 Batches: 1 Memory Usage: 1kB
- -> Subquery Scan on mra (cost=121.51..121.91 rows=20 width=64) (actual time=0.209..0.221 rows=17 loops=1)
- -> HashAggregate (cost=121.51..121.71 rows=20 width=20) (actual time=0.208..0.214 rows=17 loops=1)
- -> Append (cost=42.63..121.36 rows=20 width=20) (actual time=0.096..0.187 rows=17 loops=1)
- -> Nested Loop (cost=42.63..87.70 rows=10 width=17) (actual time=0.096..0.115 rows=9 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.013..0.014 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on uncontrolled_record_attr_value m (cost=42.63..78.93 rows=10 width=17) (actual time=0.078..0.091 rows=9 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on uncontrolled_record_attr_value_pkey (cost=0.00..42.63 rows=10 width=0) (actual time=0.069..0.069 rows=9 loops=1)
- Index Cond: (id = ANY (v.vlist))
- -> Nested Loop (cost=18.59..33.46 rows=10 width=22) (actual time=0.058..0.067 rows=8 loops=1)
- -> Index Scan using record_attr_vector_list_pkey on record_attr_vector_list v (cost=0.00..8.55 rows=1 width=91) (actual time=0.006..0.007 rows=1 loops=1)
- Index Cond: (source = 1574642)
- -> Bitmap Heap Scan on coded_value_map c (cost=18.59..24.69 rows=10 width=18) (actual time=0.049..0.055 rows=8 loops=1)
- Recheck Cond: (id = ANY (v.vlist))
- -> Bitmap Index Scan on coded_value_map_pkey (cost=0.00..18.59 rows=10 width=0) (actual time=0.042..0.042 rows=8 loops=1)
- Index Cond: (id = ANY (v.vlist))
- Total runtime: 1.133 ms
- (29 rows)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement