

 从补丁 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="c_best-practices-sort-key"></a>

Amazon Redshift 根据排序键将您的数据按照排序顺序存储在磁盘中。Amazon Redshift 查询优化程序在确定最佳查询计划时会使用排序顺序。

**注意**  
使用自动表优化时，不需要选择表的排序键。有关更多信息，请参阅 [自动表优化](t_Creating_tables.md)。

关于最佳方法的一些建议如下：
+ 要让 Amazon Redshift 选择适当的排序顺序，请指定 `AUTO` 作为排序键。
+ 如果最近使用的数据查询频率最高，则指定时间戳列作为排序键的第一列。

  这样查询会更高效，因为可以跳过该时间范围之外的整个数据块。
+ 如果您经常对某列进行范围筛选或相等性筛选，则指定该列作为排序键。

   Amazon Redshift 可以不读取该列的整个数据块。之所以能这样做，是因为它会跟踪每个数据块中存储的最小和最大列值，并且可以跳过不适用于指定范围的数据块。
+ 如果您频繁联接表，则指定联接列作为排序键和分配键。

  这样，查询优化程序可以选择排序合并联接而不是较慢的哈希联接。因为数据已按联接键排序，所以查询优化程序不用执行排序合并联接的排序阶段。