Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

步骤 3:选择排序键

创建表时,您可以指定一个或多个列作为排序键。Amazon Redshift 根据排序键将您的数据按照排序顺序存储在磁盘中。数据的排序方式对磁盘 I/O、列式压缩和查询性能有着重要的影响。

在此步骤中,您将基于以下最佳实践选择 SSB 表的排序键:

  • 如果最近使用的数据查询频率最高,则指定时间戳列作为排序键的第一列。

  • 如果您经常对某列进行范围筛选或相等性筛选,则指定该列作为排序键。

  • 如果您需要频繁联接(维度)表,则指定联接列作为排序键。

选择排序键

  1. 评估查询以找到用于筛选结果的时间戳列。

    例如,LINEORDER 频繁使用相等性筛选条件(使用 lo_orderdate)。

    Copy
    where lo_orderdate = d_datekey and d_year = 1997
  2. 查找在范围筛选条件和相等性筛选条件中使用的列。例如,LINEORDER 还使用 lo_orderdate 进行范围筛选。

    Copy
    where lo_orderdate = d_datekey and d_year >= 1992 and d_year <= 1997
  3. 根据前两条最佳实践,lo_orderdate 是排序键的良好选择。

    在优化表中,指定 lo_orderdate 作为 LINEORDER 的排序键。

  4. 其余的表是维度表,因此,基于第三条最佳实践,指定它们的主键作为排序键。

下面的优化表显示了所选择的排序键。您将在步骤 4:选择分配方式中填写分配方式列。

表名称 排序键 分配方式
LINEORDER lo_orderdate
PART p_partkey
CUSTOMER c_custkey
SUPPLIER s_suppkey
DWDATE d_datekey

下一步

步骤 4:选择分配方式

本页内容: