テーブルのパーティション分割
0.更新履歴
1.はじめに
このドキュメントでは,RDBMSのテーブル分割機能の動作原理について説明する.
2.ページ(ブロック)のチェーン
データベースでは,データを格納するページやブロック等の物理単位は,チェーンと呼ばれる仕組みで,その前後関係の関連を持っている.

チェーンのイメージ
ディスク上の物理的位置に関係なく,各ブロックは,その場所が記録されて,チェーン状につながっている.
3.ホットスポット
データが追加される場合,チェーンの最後に追加しようとする.

更新が多いシステムでは,「チェーンの最後の次の場所」を奪い合いになることがある.

この箇所を「ホットスポット」といい,システム的に「書き込み待ち」が発生する.
よって,パフォーマンスに影響を及ぼす事がある.
4.テーブルのパーティション分割
パーティション分割とは,テーブルのチェーンを複数持つ手法である.

この様に,テーブルをパーティション分割して「チェーンの最後」を複数持つことによって,チェーンの最後を奪い合う,内部処理のロック作業等を軽減することができる.

5.パーティション分割についての効果
このパーティション分割は,Oracleでは「パーティション表」,SQL Serverでは「テーブル分割」と表現される.
Oracleでは,パーティション表はEnterprise Editionでのみサポートされる形式であるため,その意味でパフォーマンス改善に意味があるとおもわれる.