我想找到带有查询的DB2范围分区的起点和终点。是否可以从任何系统表中查询这些值?
我的问题的更多背景:
我们修改了一些巨大的表格,以便它们在日常部分中进行分区:
CREATE TABLE orders(id INT, CRDTTM TIMESTAMP, …)
PARTITION BY RANGE(CRDTTM)
(
(STARTING ('2014-10-01') ENDING ('2015-15-31') EVERY 1 DAY)
)
之后可以用普通的SQL查询起点和终点吗?我需要修改我们使用的存储过程,以便过滤具有此范围之外的时间戳的行(这些表位于数据仓库中,只能在短时间内加载数据)。
至于环境:
我们在SUSE Enterprise 11服务器上运行DB2 LUW V10.5。有问题的表是基于行的。
答案 0 :(得分:1)
此信息位于系统目录中。挑战只是找到何处和如何。分区表达式本身名称为syscat.datapartitionexpression
。
重新创建特定分区信息需要将多个视图连接在一起。示例查询here可能有所帮助。
您应该会发现documentation有帮助。
答案 1 :(得分:0)
查看表SYSCAT.DATAPARTITIONS
,特别是LOWVALUE
,HIGHVALUE
以及LOWINCLUSIVE
和HIGHINCLUSIVE
列。