使用 DROP DISTRIBUTIONS ONLY 选项来从 sysdistrib 表移除分发信息,并为其分发已被删除的那些表更新该系统目录中的 systables.version 列,而不收集任何 LOW 模式表和索引统计信息。
如果您同时指定 DROP DISTRIBUTIONS ONLY 选项和 FOR TABLE 子句,则 GBase 8s 为 FOR TABLE 子句指定的 table 的列的集合(或为所有列,如果您未提供 column 规范的话)移除现有的分发数据,但不收集任何 LOW 模式表和索引统计信息。
您必须有 DBA 权限或是要使用此选项的表的所有者。
UPDATE STATISTICS LOW FOR TABLE customer (customer_num) DROP DISTRIBUTIONS ONLY;
当 ONLY 关键字不跟在 DROP DISTRIBUTIONS 关键字之后时,这会删除 customer.customer_num 分发信息,而不更新 LOW 模式选项生成的统计信息。此示例从系统目录删除任何描述 sysdistrib 表的 customer.customer_num 的行,并更新 systables 表中 customer 的 version 数目。不在 systables 上执行任何其他 LOW 模式更新,因此通过此示例不更改 nrow 和 npused 列值,且不更新系统目录的 syscolumns、sysfragments 和 sysindexes 表。在此示例中,LOW 关键字不起作用,但在 MEDIUM 或 HIGH 模式中 DROP DISTRIBUTIONS ONLY 选项不可用。
UPDATE STATISTICS DROP DISTRIBUTIONS ONLY;