

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 复合排序键
<a name="t_Sorting_data-compound"></a>

 复合键由排序键定义中列出的所有列组成（顺序即为其排列顺序）。当查询的筛选条件应用了使用排序键前缀的条件（如筛选条件和联接）时，复合排序键最为有用。当查询只依赖于辅助排序列而不引用主列时，复合排序的性能优势会下降。COMPOUND 是默认的排序类型。

复合排序键可以加快联接、GROUP BY 和 ORDER BY 操作，以及使用 PARTITION BY 和 ORDER BY 的窗口函数。例如，当数据在联接列上分配和预先排序时，可以使用合并联接（通常快于哈希联接）。此外，复合排序键还有助于提高压缩率。

在您向已包含数据的排序表中添加行的同时，未排序区域也随之增长，这会对性能产生显著的影响。当表使用交错排序时，特别是当排序列包含单调递增数据（如日期或时间戳列）时，这种影响会更大。定期运行 VACUUM 操作，特别是在加载大量数据后，以重新排序和重新分析数据。有关更多信息，请参阅 [减少未排序区域的大小](vacuum-managing-vacuum-times.md#r_vacuum_diskspacereqs)。在执行 vacuum 操作以重新排序数据后，最好运行 ANALYZE 命令以更新查询计划程序的统计元数据。有关更多信息，请参阅 [分析表](t_Analyzing_tables.md)。