首页 > 解决方案 > Netezza 中相关列的组织

问题描述

假设 Netezza 中有一个包含 COUNTRY 和 REGION 列的大表,其中每个国家/地区汇总到一个地区。如果表仅在 COUNTRY 上显式组织,则它也在 REGION 上隐式组织,因为数据是相关的。

对于在 WHERE 子句中使用 REGION 的查询,Netezza 是否知道这一点,或者 Netezza 是否仍然扫描整个表而不管区域映射如何?

换句话说:为了获得 REGION 的性能优势,必须在区域图中明确组织 REGION 吗?

标签: netezza

解决方案


运动的答案是“是”,稍长一点的答案是“视情况而定”</p>

一般来说,netezza zonemaps 适用于除字符串列之外的所有列,如果它们包含在“组织上”中,则它们只有一个区域图,所以让我们假设两列都是整数“代码”并且你有一个小表(维度表)通过连接将两个代码中的每一个转换为字符串,然后它将很好地工作。

当然,如果不同值的数量与整个表相比较小和/或当相应的国家/地区代码升序时区域代码大部分都在升序,则此优化效果最佳。


推荐阅读