16.20 - 收集和复制统计数据 - Teradata Data Mover

Teradata® Data Mover 用户指南

Product
Teradata Data Mover
Release Number
16.20
Published
2021 年 11 月
Content Type
用户指南
Publication ID
B035-4101-107K-CHS
Language
中文 (简体)
在将统计数据从源复制到目标时,首先会收集在源表上的统计数据、联接索引或哈希索引。如果在尝试将统计数据从源复制到目标之前未收集源上的统计数据,则会出现错误。
  1. 创建包含 n 列的表。
  2. 使用行填充该表。
  3. 使用 SQL 收集统计数据: COLLECT STATISTICS <TableName> Column (Cols);
    • 要收集有关多个列的统计数据,请提供一组列。
    • 要收集有关一个命名的联接索引或哈希索引的统计数据,请键入 COLLECT STATISTICS <TableName> INDEX "IndexName"
    • 要复制收集到的统计数据,请将 copyStats 属性设置为 true。以下 XML 示例用于复制一个表的统计数据以及该表本身,该操作通过 table 元素的 selection="included" 属性来指定。
    <database selection="unselected">
    	<name>dbName</name>
     	<table selection="included" copyStats="true">
    		    <name>MyTable</name>
    		</table>
    </database>

    如果目标上已经存在该表,则可以通过指定 table 元素的 selection="unselected" 属性来复制统计数据,而不复制该表本身。此规则也适用于哈希索引和联接索引。

    如果复制的统计数据包含对象,则在复制前,该对象无需位于目标中。如果目标中已存在该对象,则该对象将在复制过程中被覆盖,同时会将统计数据复制到目标中。

    以下 XML 示例用于复制哈希索引的统计数据:

    <index selection="unselected" copyStats="true">
    <name>Cust_Ord_HI </name>
    	<index_database>MyDB</index_database>
    	<index_type>HASH_INDEX</index_type>
    </index>
    copyStats 属性仅适用于表、哈希索引和联接索引。