ANALYZE TABLE

ANALYZE TABLE 为一个或多个表收集统计信息,可选择性限制到列列表,使查询优化器在选择执行计划时拥有最新信息。

描述

ANALYZE TABLE 计算并存储指定表的统计信息。这些统计信息帮助查询优化器估算基数并选择更好的计划。

该语句支持三种形式:

  • ANALYZE TABLE t; 使用所有列分析整个表。

  • ANALYZE TABLE t(a, b); 仅分析指定列。

  • ANALYZE TABLE t1, t2; 在一条语句中分析多个表。

支持带引号的数据库、表和列标识符。

语法

ANALYZE TABLE table [(column [, column] ...)] [, table [(column [, column] ...)] ...]

参数

参数

说明

table

要分析的表。

column

可选。参与分析的表的列。省略时分析所有列。

示例

DROP DATABASE IF EXISTS analyze_table_demo;
CREATE DATABASE analyze_table_demo;
USE analyze_table_demo;

CREATE TABLE t_analyze (a INT, b VARCHAR(10));
INSERT INTO t_analyze VALUES (1, 'a'), (1, 'a'), (2, 'b'), (2, 'c');
ANALYZE TABLE t_analyze(a, b);
ANALYZE TABLE t_analyze;

DROP DATABASE analyze_table_demo;