假设Netezza中有一个大表,其中包含COUNTRY和REGION列,其中每个国家/地区都汇总到一个区域。如果表仅在COUNTRY上显式组织,则它也会在REGION上隐式组织,因为数据是相关的。
对于在WHERE子句中使用REGION的查询,Netezza是否知道这一点,或者Netezza是否仍然扫描整个表而不管区域映射?
换句话说:为了获得REGION的性能优势,必须在区域地图中明确组织REGION吗?
答案 0 :(得分:1)
运动答案是'是',稍长的答案是“它取决于”
一般来说,netezza zonemaps适用于除字符串列之外的所有列,如果它们包含在“组织开启”中,它们只有一个区域映射,所以让我们假设两列都是整数'代码'并且你有一个小表(维度表)通过连接将两个代码中的每一个转换为字符串,然后它将很好地工作。
当然,如果不同值的数量与整个表格相比较小,则此优化效果最佳,和/或当相应的国家/地区代码递增时,区域代码大部分都在升序。