如果使用 round-robin 分布方案对表进行分段,那么数据库服务器不能消除分段。 而且,不是所有基于表达式的分布方案都提供了相同的分段消除行为。
| 查询(WHERE 子句)表达式的类型 | 单个列上的非重叠分段 | 单个列上的重叠或非邻接分段 | 多个列上的非重叠分段 |
|---|---|---|---|
| 范围 表达式 | 分段可以消除。 | 分段不能消除。 | 分段不能消除。 |
| 等式表达式 | 分段可以消除。 | 分段可以消除。 | 分段可以消除。 |
此表说明了分布方案可启用分段消除,但是分段消除的有效性取决于指定查询的 WHERE 子句。
FRAGMENT BY EXPRESSION
100 < column_a AND column_b < 0 IN dbsp1,
100 >= column_a AND column_b < 0 IN dbsp2,
column_b >= 0 IN dbsp3
column_a = 5 OR column_b = -50
column_b = -50
column_a = 5 AND column_b = -50
分段表中的分区不会影响分段消除行为。