PostgreSQLで非パーティションキー列のクエリでもプルーニングを実現する方法

How to Achieve Pruning When Querying by Non-Partitioned Columns in PostgreSQL

PostgreSQLで非パーティションキー列のクエリでもプルーニングを実現する方法

パーティションテーブルの利点であるプルーニングは、通常パーティションキーでの絞り込み時にのみ機能します。しかし、データのパターンを利用し、チェック制約を活用することで、非パーティションキー列でのフィルタリングでもプルーニングを実現できます。本記事では、イベントテーブルを例に、セッションIDとタイムスタンプの相関関係を利用して、セッションIDによるクエリでパーティションを効率的に除外する方法を解説します。

ここが秘訣です。誰も教えてくれないことですが、チェック制約を使ってデータに関する情報をオプティマイザに伝えることができるのです。

この日のほかの記事

2026-07-12