测试多列DK的选择性问题(三)

2014-11-24 15:45:42 · 作者: · 浏览: 1
0..3.06 rows=1 width=6)
Filter: id = 11 AND name::text = 'b'::text
Rows out: 1 rows with 0.017 ms to first row, 0.019 ms to end, start offset by -315 ms.
Slice statistics:
(slice0) Executor memory: 184K bytes.
(slice1) Executor memory: 176K bytes (seg2).
Statement statistics:
Memory used: 128000K bytes
Total runtime: 35.278 ms
(16 rows)
从测试结果来看:
0. 单表查询,使用其中一个dk列作为查询条件,Gather Motion步骤是没办法过滤segment的;
1. 单表查询,使用dk的所有列,Gather Motion步骤可以选择只有数据存在的segment的;
2. 两表关联查询,使用其中一个dk列作为查询条件,需要执行Broadcast Motion动作进行数据重新分布;
3. 两表关联查询,使用dk的所有列,可以避免Broadcast Motion动作;
-EOF-