更新时间:2024-12-11 GMT+08:00

SHOW STATS

语法

SHOW STATS FOR table_name;

SHOW STATS FOR (SELECT * FROM table [WHERE condition]);

限制

SHOW STATS首先会ANALYZE表,参考ANALYZE。在ANALYZE之前对目标表进行show stats会显示所有的值都是空值。

描述

返回表的近似统计信息。

返回每一列的统计信息。

描述

column_name

列名(汇总行为NULL)

data_size

列中所有值的总大小(以字节为单位)

distinct_values_count

列中不同值的数量

nulls_fraction

列中值为NULL的部分

row_count

行数(仅针对摘要行返回)

low_value

在此列中找到的最小值(仅对于某些类型)

high_value

在此列中找到的最大值(仅适用于某些类型)

示例

SHOW STATS FOR orders;
SHOW STATS FOR (SELECT * FROM orders);
  • 在Analyze nation表之前:
    SHOW STATS FOR nation; 
    column_name | data_size | distinct_values_count | nulls_fraction | row_count | low_value | high_value 
    -------------|-----------|-----------------------|----------------|-----------|-----------|------------
     name        |      NULL |                  NULL |           NULL |      NULL | NULL      | NULL       
     regionkey   |      NULL |                  NULL |           NULL |      NULL | NULL      | NULL       
     NULL        |      NULL |                  NULL |           NULL |       6.0 | NULL      | NULL       
    (3 rows)
  • 在Analyze nation表之后:
    Analyze nation;
    ANALYZE: 6 rows
    
    --查询分析后的结果
    SHOW STATS FOR nation;
    column_name | data_size | distinct_values_count | nulls_fraction | row_count | low_value | high_value 
    -------------|-----------|-----------------------|----------------|-----------|-----------|------------
     name        |      45.0 |                   5.0 |            0.0 |      NULL | NULL      | NULL       
     regionkey   |      NULL |                   2.0 |            0.0 |      NULL | 0         | 2          
     NULL        |      NULL |                  NULL |           NULL |       6.0 | NULL      | NULL       
    (3 rows)