IT用語集 › データベース › パーティションテーブル

パーティションテーブル

データベース Svenska → 更新: 2026-10-22

論理的には一つのテーブルだが、パーティションキーに基づき物理的には複数の「パーティション」に分割されるDBの機能。大規模テーブル(1000万行以上)、時系列データ、マルチテナントのシャーディングで使う。

PostgreSQLは10(2017年)から宣言的パーティショニングに対応し、MySQLは5.1からある。分割の方式は、RANGE(日付や数値の範囲)、LIST(特定の値)、HASH(均等に分散)の三つ。利点は、パーティションキーでWHERE条件を指定したクエリが該当パーティションだけを走査するパーティションプルーニングだ。保守面では、古いパーティションの削除がO(1)で済み、O(N)のDELETEよりずっと速い。

代償もある。クエリプランナが複雑になり、パーティションをまたぐ外部キーは扱いにくく、ORMの対応もまちまちだ。ただしPostgreSQL 11以降は外部キーとインデックスに対応した。典型例は月ごとに分割したログテーブルで、12か月前のデータを一瞬で捨てられる。

← 用語集に戻る