

 Amazon Redshift は、パッチ 198 以降、新しい 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/)を参照してください。

# COPY による圧縮エンコードの選択
<a name="c_best-practices-use-auto-compression"></a>

テーブルを作成するときに圧縮エンコードを指定できますが、ほとんどの場合、自動圧縮が最も適切な結果を生み出します。

ENCODE AUTO は、テーブルのデフォルトです。テーブルが ENCODE AUTO に設定されると、Amazon Redshift は、テーブル内のすべての列の圧縮エンコードを自動的に管理します。詳細については、「[CREATE TABLE](r_CREATE_TABLE_NEW.md)」および「[ALTER TABLE](r_ALTER_TABLE.md)」を参照してください。

COPY コマンドは、データを分析し、ロード操作の一部として自動的に空のテーブルに圧縮エンコードを適用します。

自動圧縮では、圧縮エンコードを選択する際に全体的なパフォーマンスの負荷を分散させます。ソートキー列が、同じクエリ内の他の列よりもかなり高度に圧縮される場合、範囲が制限されたスキャンはパフォーマンスが低下する可能性があります。その結果、自動圧縮では、効率が低い圧縮エンコードを選択してソートキー列が他の列とのバランスの取れた状態を維持します。

テーブルのソートキーが日付またはタイムスタンプで、テーブルが多くの大きな varchar 列を使用しているとします。この場合、ソートキーをまったく圧縮しないことによって、より高いパフォーマンスを得ることができる可能性があります。テーブルで [ANALYZE COMPRESSION](r_ANALYZE_COMPRESSION.md) のコマンドを実行し、エンコーディングを使用して新しいテーブルを作成します。ただし、ソートキーの圧縮エンコードを省いてください。

自動的な圧縮エンコードではパフォーマンスが低下しますが、これが発生するのはテーブルが空で、すでに圧縮エンコードがない場合のみです。存続期間の短いテーブルおよび頻繁に作成するテーブル (ステージングテーブルなど) の場合は、自動圧縮でテーブルを 1 回ロードするか、ANALYZE COMPRESSION コマンドを実行します。次にそれらのエンコードを使用して新しいテーブルを作成します。CREATE TABLE ステートメントにエンコードを追加するか、CREATE TABLE LIKE を使用して同じエンコードで新しいテーブルを作成できます。

詳細については、「[自動圧縮ありでテーブルをロードする](c_Loading_tables_auto_compress.md)」を参照してください。