Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

ANALYZE COMPRESSION

执行压缩分析,并针对所分析的表使用建议的压缩编码生成报告。报告会针对每一列估计与当前编码相比磁盘空间的可能压缩量。

语法

Copy
ANALYZE COMPRESSION [ [ table_name ] [ ( column_name [, ...] ) ] ] [COMPROWS numrows]

参数

table_name

您可以分析特定表的压缩,包括临时表。您可以通过其 schema 名称来限定表。您可以视需要指定 table_name 来分析单个表。如果您不指定 table_name,则将分析当前连接的数据库中的所有表。您不能在单个 ANALYZE COMPRESSION 语句中指定多个 table_name

column_name

如果您指定 table_name,您还可以指定表中的一个或多个列(以两旁加括号的逗号分隔列表的形式)。

COMPROWS

要在压缩分析中用作采样大小的行数。将对来自每个数据切片的行运行分析。例如,如果您指定 COMPROWS 1000000 (1000000),而系统共包含 4 个切片,则每个切片将读取和分析 250000 行。如果未指定 COMPROWS,则采样大小默认为每个切片 100000 行。如果 COMPROWS 值小于每个切片 100000 行的默认值,则会自动将该值升级到默认值。但是,如果表中的数据量不足,无法得到有意义的样本,则压缩分析将不会生成建议。如果 COMPROWS 数字大于表中的行数,则 ANALYZE COMPRESSION 命令仍会针对所有可用行继续运行压缩分析。

numrows

要在压缩分析中用作采样大小的行数。numrows 的可接受范围为 1000 到 1000000000 (1000000000) 之间的数字。

使用说明

运行 ANALYZE COMPRESSION 以根据表内容的采样来获取列编码方案的建议。ANALYZE COMPRESSION 是一个建议工具,不会修改表的列编码。通过重新创建表或使用相同 schema 创建新的表,可以应用推荐的编码。使用适当的编码方案重新创建未压缩的表可以显著降低其磁盘上的大小,节省磁盘空间并改善 IO 密集型工作负载的查询性能。

ANALYZE COMPRESSION 不会对指定为 SORTKEY 的任何列考虑 Runlength 编码 编码,因为当 SORTKEY 列的压缩率显著高于其他列时,限定范围的扫描的性能可能会比较差。

ANALYZE COMPRESSION 获取独占的表锁定,从而阻止对表的并发读写。只在表空闲时运行 ANALYZE COMPRESSION 命令。

示例

只分析 LISTING 表:

Copy
analyze compression listing; Table | Column | Encoding | Est_reduction_pct --------+----------------+----------+------------------ listing | listid | delta32k | 0.00 listing | sellerid | delta32k | 0.00 listing | eventid | delta32k | 0.00 listing | dateid | lzo | 96.94 listing | numtickets | delta | 0.00 listing | priceperticket | lzo | 15.74 listing | totalprice | lzo | 18.06 listing | listtime | lzo | 20.98

分析 SALES 表中的 QTYSOLD、COMMISSION 和 SALETIME 列:

Copy
analyze compression sales(qtysold, commission, saletime); Table | Column | Encoding | Est_reduction_pct ------+------------+----------+------------------ sales | salesid | N/A | 0.00 sales | listid | N/A | 0.00 sales | sellerid | N/A | 0.00 sales | buyerid | N/A | 0.00 sales | eventid | N/A | 0.00 sales | dateid | N/A | 0.00 sales | qtysold | lzo | 17.49 sales | pricepaid | N/A | 0.00 sales | commission | delta32k | 0.00 sales | saletime | lzo | 20.99

本页内容: