ぼくは明日、昨日のじぶんに頼りたい

明日のためのメモです。

PostgreSQLのパフォーマンス改善用のメモ

個人的に色々と参考させていただいているものをまとめました。

HugePages

オンプレのLinuxは有効にすることを検討する。

インデックス

カバリングインデックスの作成も検討する。
ただ、インデックスオンリースキャンを狙いにいっても可視性の情報はみないといけないので更新が多いテーブルは注意する。

FILLFACTOR

更新が多いテーブルはFILLFACTORを設定することを検討する。

ロック管理

場合によるが、deadlock_timeoutの変更を検討する。
デッドロック検出処理が同時セッション数の分行われサーバ負荷が高くなってどうにもならなくなる可能性を考慮する。

ユーザ定義関数が返す行数の推定値

デフォルト推定値(ROWS result_rows)は1000行になっているので変更することを検討する。

パーティショニング

結構データ量ないと意味ない感じと思われる(11系で約100万行だと変わらなかった)
意味ある状況に遭遇したい。

全体的に参考にしているもの

バージョンアップによる改善メモ

リリースノートを見て気になったものを抜粋。
あと、11からバージョンアップする場合はJITの挙動に注意する。

11 → 12

12 → 13

13 → 14