パーティション テーブルのパーティション範囲を管理する作業に関する推奨事項を以下にまとめます。
他のプロセスと同じく、個々のプロセス、クエリー ワークロード、およびパフォーマンスの基準に沿って、以下のベスト プラクティスを調整する必要があります。
- パーティション範囲の追加と削除のためのALTER TABLEのスケジュールと発行には、プロセスを十分に定義し、できれば自動化します。
- パーティションの追加および削除に関するALTER TABLEリクエストの頻度を追跡する、最新のPARTITION月次統計レポートを収集および管理します。
- 定期的なEXPLAINレポートを実行して比較します。このレポートは、標準的なワークロードからの個々のクエリーのパフォーマンスに対し、現在のパーティション化がどのように影響しているかを判断するのに役立ちます。
- 収集したPARTITION統計とスケジューリング プロセスに基づいて、パーティションの追加や削除に関するALTER TABLEリクエストの頻度を最小限に抑えるために必要な「将来の範囲」を定義します。どの時点でも「将来の」範囲の数は、定義したパーティションの合計数の10%未満にしておく必要があります。将来の範囲は、パーティションの追加時からさらに時間が経過した時点で必要になると予想される範囲の値です。これは、パーティションの追加や削除のALTER TABLEリクエストを実行する頻度を最小限に抑えるために使用されます。
- 頻度の低さが原因でALTER TABLEリクエストが失敗しないようにするため、必要な範囲での削除と追加を少なくとも月に1回は行ないます。
- 不要になった古いパーティションは削除します。特に行パーティション テーブルにアクセスするワークロードのクエリーでプライマリ インデックスへのアクセスと結合を頻繁に行なう場合に、完全なパーティション列セットがプライマリ インデックスの定義に含まれていないのであれば、これが重要です。