分析表... 删除统计信息

适用于:检查标记为“是”的 Databricks SQL 检查标记为“是”的 Databricks Runtime 18.1 及更高版本

ANALYZE TABLE … DROP STATISTICS 命令从 Unity 目录表中删除优化器统计信息。 使用此命令可以清除过时或不正确的统计信息,以便查询优化器不再依赖于它们。 若要收集新统计信息,请参阅 ANALYZE TABLE...计算统计信息

Syntax

ANALYZE TABLE table_name DROP [ MANUAL | AUTO | ALL ] STATISTICS

Parameters

  • table_name

    标识要删除其统计信息的表。 名称不得包含时态规范或选项规范或者路径。 如果找不到表,Azure Databricks 会引发 TABLE_OR_VIEW_NOT_FOUND 错误条件。

  • { MANUAL | AUTO | ALL }

    选择要删除的统计信息的可选限定符。 如果省略限定符,该命令只会删除手动统计信息。

    限定符 Description
    MANUAL 默认值。 删除 ANALYZE TABLE 收集的统计信息 ...计算统计信息
    AUTO 删除自动统计信息收集的统计信息。
    ALL 删除手动和自动统计信息。

要求

  • 必须在 Unity 目录中注册该表。 针对 Hive 元存储表运行此命令会引发一个 AnalysisException
  • 你必须对表具有 MODIFY 特权。

Examples

-- Drop only manual statistics. This is the default behavior.
> ANALYZE TABLE main.sales.orders DROP STATISTICS;

-- Drop only statistics collected by auto-stats or predictive optimization.
> ANALYZE TABLE main.sales.orders DROP AUTO STATISTICS;

-- Drop all statistics for the table.
> ANALYZE TABLE main.sales.orders DROP ALL STATISTICS;