没有合适的资源?快使用搜索试试~ 我知道了~
POSTGRESQL_Explaining_EXPLAIN.pdf
需积分: 9 2 下载量 111 浏览量
2022-08-03
14:58:32
上传
评论
收藏 363KB PDF 举报
温馨提示
试读
28页
POSTGRESQL_Explaining_EXPLAIN.pdf
资源推荐
资源详情
资源评论
Explaining EXPLAIN
2
© 2008, EnterpriseDB Corporation. All rights reserved.
EXPLAIN
tpcc=> EXPLAIN
SELECT *
FROM oorder
JOIN order_line ON (ol_w_id = o_w_id
AND ol_d_id = o_w_id
AND ol_o_id = o_id)
JOIN item ON (i_id = ol_i_id)
JOIN stock ON (s_w_id = o_w_id AND s_i_id = i_id)
JOIN warehouse ON (w_id = o_w_id)
JOIN district ON (d_w_id = w_id AND d_id = o_d_id)
JOIN customer ON (c_w_id = w_id
AND c_d_id = d_id
AND c_id = o_c_id)
WHERE o_w_id = 1
•EXPLAIN works on any DML not just SELECT (ie UPDATE, DELETE, and INSERT)
3
© 2008, EnterpriseDB Corporation. All rights reserved.
EXPLAIN
Hash Join (cost=22896.89..54208.53 rows=330801 width=1239)
Hash Cond: (order_line.ol_o_id = oorder.o_id)
-> Nested Loop (cost=8853.68..27149.42 rows=32734 width=542)
-> Seq Scan on warehouse (cost=0.00..1.01 rows=1 width=85)
Filter: (w_id = 1)
-> Merge Join (cost=8853.68..26821.07 rows=32734 width=457)
Merge Cond: (order_line.ol_i_id = item.i_id)
-> Merge Join (cost=8852.66..22503.03 rows=32734 width=385)
Merge Cond: (stock.s_i_id = order_line.ol_i_id)
-> Index Scan using pk_stock on stock (cost=0.00..12910.70 rows=100000 width=315)
Index Cond: (s_w_id = 1)
-> Materialize (cost=8852.63..9261.81 rows=32734 width=70)
-> Sort (cost=8852.63..8934.47 rows=32734 width=70)
Sort Key: order_line.ol_i_id
-> Bitmap Heap Scan on order_line (cost=843.82..5053.83 rows=32734 width=70)
Recheck Cond: ((ol_w_id = 1) AND (ol_d_id = 1))
-> Bitmap Index Scan on pk_order_line (cost=0.00..835.64 rows=32734 width=0)
Index Cond: ((ol_w_id = 1) AND (ol_d_id = 1))
-> Index Scan using pk_item on item (cost=0.00..3659.26 rows=100000 width=72)
-> Hash (cost=11040.12..11040.12 rows=29767 width=697)
-> Hash Join (cost=3743.15..11040.12 rows=29767 width=697)
Hash Cond: (oorder.o_d_id = district.d_id)
-> Merge Join (cost=3741.90..10629.58 rows=29767 width=606)
Merge Cond: ((customer.c_d_id = oorder.o_d_id) AND (customer.c_id = oorder.o_c_id))
-> Index Scan using pk_customer on customer (cost=0.00..6215.00 rows=30000 width=564)
Index Cond: (c_w_id = 1)
-> Materialize (cost=3741.90..4116.90 rows=30000 width=42)
-> Sort (cost=3741.90..3816.90 rows=30000 width=42)
Sort Key: oorder.o_d_id, oorder.o_c_id
-> Seq Scan on oorder (cost=0.00..636.00 rows=30000 width=42)
Filter: (o_w_id = 1)
-> Hash (cost=1.12..1.12 rows=10 width=91)
-> Seq Scan on district (cost=0.00..1.12 rows=10 width=91)
Filter: (d_w_id = 1)
4
© 2008, EnterpriseDB Corporation. All rights reserved.
EXPLAIN in pgAdmin
5
© 2008, EnterpriseDB Corporation. All rights reserved.
Rows
Hash Join (cost=22896.89..54208.53 rows=330801 width=1239)
Hash Cond: (order_line.ol_o_id = oorder.o_id)
-> Nested Loop (cost=8853.68..27149.42 rows=32734 width=542)
-> Seq Scan on warehouse (cost=0.00..1.01 rows=1 width=85)
Filter: (w_id = 1)
-> Merge Join (cost=8853.68..26821.07 rows=32734 width=457)
Merge Cond: (order_line.ol_i_id = item.i_id)
-> Merge Join (cost=8852.66..22503.03 rows=32734 width=385)
Merge Cond: (stock.s_i_id = order_line.ol_i_id)
-> Index Scan using pk_stock on stock (cost=0.00..12910.70 rows=100000
Index Cond: (s_w_id = 1)
-> Materialize (cost=8852.63..9261.81 rows=32734 width=70)
-> Sort (cost=8852.63..8934.47 rows=32734 width=70)
Sort Key: order_line.ol_i_id
-> Bitmap Heap Scan on order_line (cost=843.82..5053.83 rows=327
Recheck Cond: ((ol_w_id = 1) AND (ol_d_id = 1))
-> Bitmap Index Scan on pk_order_line (cost=0.00..835.64 rows=
Index Cond: ((ol_w_id = 1) AND (ol_d_id = 1))
-> Index Scan using pk_item on item (cost=0.00..3659.26 rows=100000 width=
剩余27页未读,继续阅读
资源评论
yethyeth
- 粉丝: 139
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功