PostgreSQLスキルアップノート(自己啓発のための個人サイト)

HOT(Heap Only Tuple)


【一覧に戻る】


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■■■■ PostgreSQL スキルアップノート
■■■■
■◆■■ HOT(Heap Only Tuple)
■■■■
■■■■
■■■■ 2012/12/11
■■■■ 使用環境:PostgreSQL9.1.4 (CentOS6.2)
                                                                   (C) 2012 ohdb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
★自己都合により実機確認は9.1、マニュアルへのリンクは9.2としています。ご了承下さい。

マニュアルには詳しい記述が見つからない(?)のでリンクはありません。
下記Let's Postgresの記事を参照。

【マニュアル】

なし

【参考記事】
Let's Postgres→●[記事]




■1■ HOTの特徴
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


・UDPATE時のインデックス書き込み負荷が軽減される

 「HOT」ではインデックスカラム以外へのUPDATEの場合、インデックスの更新を抑える
 ことができるようになった。

 PostgreSQLは追記型なので、従来はUPDATEの際に発生する物理的な行追加に伴って、
  値に変更のないインデックスへも追記が発生していた。

・バキュームが不要になる

 HOT更新が適用された場合はバキューム処理は要らない。
  その代わり他の処理(たとえばSELECT等)がアクセスのついでに不要領域を解放していく・・ 




■2■ HOTを効かせる条件は?
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

・インデックスのないカラムの更新であることが条件。

・UPDATE時に同じページ内へ追記できることが条件。
   --->空きがなければダメ
     -->FILLFACTORの設計が重要となる。


2点目の条件(同じページ内の空き)について

インデックスのないカラム更新だからHOT更新だと思っていたら、
実はそうではなかったということになりかねないのではないか?
という不安

・・・次項にて検証







以上 
inserted by FC2 system