CLUSTERによる性能改善

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

TL;DR

  • データを物理的に整列させる機能 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に書いた順がそのまま物理配置に反映される
  • その並べ方によって格納効率が変わるので、一考の余地がある
続きを読む

開壁の辞

壁アドベントカレンダー、1日目の記事。

「12月1日時点で埋まっていなかったらカレンダーごと削除する」という公約を掲げてスタートした本カレンダーだが、タイムリミットの4時間前にして生き残りが決定した。ご登録いただいた皆様、本当にありがとうございます。

続きを読む

UPDATE SET FROMの不定性

久しぶりにポスグレの小ネタ。 大した内容ではないが、最近シャのお仕事中に使ったのでメモ。

お題

実験用テーブルとして、人物のid、ファーストネーム、ラストネーム、フルネームを保持するテーブルを作成する。

続きを読む

『プリンシプルオブプログラミング』を読んだ

雨すぎる。
先々週にAmazon Prime ビデオで『ソラニン』を観たせいで、Amazonが宮崎あおいの出演作品を無限にオススメしてくる。宮崎あおいに習熟しつつある。
Amazon Prime ビデオで観れる映画でオススメあれば教えてください。

どんな本か

続きを読む