目标键

重新分区数据时,使用 TARGET KEYS 选项来指定将在此控制文件中的所有 SELECT 块中使用的目标键值,除非在单个 SELECT 块的 TARGET 选项中显式覆盖。

用途

使用此选项可定义 Optim™ High Performance Unload 在全局级别设置数据库分区。 在此级别,您可以标识一个或多个列以及 (可选) 将构成所处理的所有卸载的数据库分区特征的数据库分区。 目标表不需要与源表位于同一 Db2® 实例中。

Optim High Performance Unload 将源表的数据导出到输出文件中,每个输出文件对应目标表的数据库分区。 对于每个相关表,每个输出文件的文件名都包含相应的目标数据库分区号,使用以下模式: base_filename.target_partition_numberbase_filename 在 output_file 子句中设置。 可以使用 Db2 Load 命令在目标数据库上装入这些输出文件。

限制 :如果 Optim High Performance Unload 不支持包含的SELECT语句,则 Optim High Performance Unload 不支持重新分区。 确保 Optim High Performance Unload 本身支持SELECT子句语法。

参数

缺省/当前
DEFAULT/CURRENT 参数是必需的,用于指定组成分区键的列。 可以选择 CURRENTDEFAULT
CURRENT 关键字指定应保留分区键的当前定义。 它将目标表的分区键设置为与 fast_select 块中标识的源表相同的值。 如果选择 CURRENT,那么还必须确保作为分区键一部分的源表列包含在 fast_select 块中的相应 SELECT 语句中。
DEFAULT 关键字表示 fast_select 块中的第一个有效列将是分区键中使用的列。 如果fast_select块中的第一列无效, Optim High Performance Unload 将发出错误信息并移动到下一列,直到找到有效的一列。
PARTS
PARTS 参数是可选的。 它标识了在为目标表 Optim High Performance Unload 为目标表创建数据库分区图时使用的数据库分区编号。 该参数可以采用单个数据库分区的值,以逗号分隔的数据库分区号列表,范围 (例如, 4:8 包含数据库分区 4 到 8) ,这些选项的组合,关键字 ALL或关键字 IN 以及文件名。 数据库分区缺省值为 PARTS (ALL)。 如果选择将 DEFAULT 选项与 PARTS (ALL)配合使用,那么用于生成数据库分区映射的数据库分区将与当前实例中的数据库分区相同。 如果选择带有 PARTS (ALL)CURRENT 选项,那么生成的数据库分区映射将反映与定义了源表的表空间相关联的数据库分区组的数据库分区号列表。 如果选择数据库分区号的显式列表或使用 ALL 选项,那么将按循环顺序列出数据库分区号 (例如: 1,2,3,1,2,3,1,2,3,1 ...)。 如果选择 IN 选项,那么必须指定与 db2gpmap Db2 实用程序生成的文件对应的文件位置。
"文件名"
此必需词素对应于使用 db2gpmap Db2 实用程序抽取分区映射定义的外部文件。
分区映射文件只能包含数字,空格字符和回车符。 不允许使用任何其他字符。
此文件必须根据以下模型进行格式化:
0 1 2 ... n

0
1
2
...
n
分区映射文件不得包含意外字符,并且必须包含正确数量的条目。 要确定期望的条目数,必须考虑您正在使用的 Db2 版本:
  • 如果 Optim High Performance Unload 在 Db2 实例上执行,且级别至少为 V9.7 ,则预期的值为32768
  • 如果 Optim High Performance Unload 对级别小于 V9.7 的 Db2 实例执行时,预期的值数量为4096
语法
TARGET KEYS (DEFAULT | CURRENT [PARTS (ALL) | (database partition list) | IN "filename"])
变量
数据库分区列表 数据库分区号的列表或范围。
"filename" db2gpmap Db2 实用程序生成的文件的位置。
缺省值
ALL (如果未指定 PARTS )。
注意:
  • 可以在特定 fast_select 块的 SELECT 块级别覆盖 TARGET KEYS 选项。
  • 请参阅 Db2 SQL 参考指南 ,以获取有关分区键和数据库分区映射的其他信息。