load 'auto_explain'; LOAD set auto_explain.log_min_duration to 0; SET set auto_explain.log_analyze to on; SET set auto_explain.log_wal to on; SET set auto_explain.log_timing to on; SET set auto_explain.log_level to notice; SET BEGIN; BEGIN select sum(l_extendedprice) / 7.0 as avg_yearly from lineitem, part where p_partkey = l_partkey and p_brand = 'Brand#45' and p_container = 'SM DRUM' and l_quantity < ( select 0.2 * avg(l_quantity) from lineitem where l_partkey = p_partkey ); NOTICE: duration: 354.438 ms plan: Query Text: select sum(l_extendedprice) / 7.0 as avg_yearly from lineitem, part where p_partkey = l_partkey and p_brand = 'Brand#45' and p_container = 'SM DRUM' and l_quantity < ( select 0.2 * avg(l_quantity) from lineitem where l_partkey = p_partkey ); Aggregate (cost=111370.94..111370.95 rows=1 width=32) (actual time=354.420..354.423 rows=1 loops=1) -> Nested Loop (cost=10.17..111319.05 rows=20755 width=8) (actual time=0.374..352.781 rows=5207 loops=1) -> Index Only Scan using part_p_container_p_brand_p_partkey_idx on part (cost=0.43..89.87 rows=2072 width=4) (actual time=0.091..1.219 rows=1952 loops=1) Index Cond: ((p_container = 'SM DRUM'::bpchar) AND (p_brand = 'Brand#45'::bpchar)) Heap Fetches: 0 -> Index Scan using lineitem_l_partkey_l_quantity_l_shipmode_idx on lineitem (cost=9.74..53.58 rows=10 width=17) (actual time=0.047..0.076 rows=3 loops=1952) Index Cond: ((l_partkey = part.p_partkey) AND (l_quantity < (SubPlan 1))) SubPlan 1 -> Aggregate (cost=9.17..9.18 rows=1 width=32) (actual time=0.102..0.102 rows=1 loops=1952) -> Index Only Scan using lineitem_l_partkey_l_quantity_l_shipmode_idx on lineitem lineitem_1 (cost=0.56..9.09 rows=30 width=5) (actual time=0.035..0.080 rows=30 loops=1952) Index Cond: (l_partkey = part.p_partkey) Heap Fetches: 236 avg_yearly ---------------------- 3059178.897142857143 (1 row) COMMIT; COMMIT