FILLFACTORによる性能改善

めっちゃ寒くてマジ冬かってかんじ。
今日はポスグレアンカンファレンスというイベント当日、行けなくて悲しい。行けてたら発表しようかなと思っていた内容をブログに書く。微妙に前回分の発展版となっているので、ご興味がある方は、合わせてどうぞ。

TL;TR

  • FILLFACTORの値を設定するとブロック内に空き領域を持つ
  • HOTの効果により更新系の性能が改善する
  • クラスタの維持により参照系の性能が改善する
  • テーブルサイズとのトレードオフを考慮して設定するべき
続きを読む

CLUSTERによる性能改善

一歩でも外に足を踏み出すと街のクリスマスムードに襲われ、精神を蝕まれる。周囲には「クリスマス?ああ、そういえばそんな時期か。まあ、全然興味ないけど。」とか言いつつめっちゃ気にするタイプです。怯えています。

TL;TR

  • データを物理的に整列させる機能 CLUSTER がある
  • テーブルの特定のデータにアクセスが集中する場合に、参照性能が改善する
  • 利用にあたりトレードオフ、メンテナンスコストが生じる
続きを読む

履歴テーブルとRETURNING句

3日連続Postgres小ネタ。別にひとりアドベントカレンダーをやっているわけではない。

TL;DR

  • 論理削除は本質的にリレーショナルモデルと相性が悪い
  • 論理削除の一実現手法として削除済テーブル(=履歴テーブル)がある
  • PostgresならRETURNING+CTEでできる
続きを読む

XIDの巻き戻しによるデータ復旧

ポスグレカレンダーのノルマは昨日のぶんで達成したが、触発されてポスグレ小ネタを連投してみる。今回は、闇の技術を伝承する。ゆめゆめ使わぬよう。

TL;DR

  • Postgresは追記型のMVCCを実装している
  • XIDを巻き戻すことでデータベースを過去の状態に戻せる
続きを読む

COLUMN TETRIS

Postgres Advent Calendar 2017の8日目を担当させていただきます。

qiita.com

Postgres 10とかナウい話やテクい話は他のみなさまにお任せして、地味なネタ狙いで物理構造を意識したチューニングについて書こうと思っていた。最近、お仕事で触れたものの中からこれを選んだ。タイトルがキャッチーでかっこいいから。モテたいから。本当に。

TL;DR

  • Postgresのテーブルのカラムは、CREATE TABLEに書いた順がそのまま物理配置に反映される
  • その並べ方によって格納効率が変わるので、一考の余地がある
続きを読む