Postgresqlで気付いたことあれこれ

2010年2月14日

Postgresqlをずぅーと使っていて思ったのですが、


・PostgresqlのUPDATE処理は遅い!


UPDATE処理がMYSQLなどと比較して非常に遅いということを良く耳にします。


この理由をよくよく調べてみると、PostgresqlのUPDATE処理が追記型を採用している という点に隠されているようです。

つまり、RDBの内部処理として必ず最後に変更したレコードを 新規追加するということのようです。


言い換えると、更新対象レコードを検索して、DELETEして、更新レコードを INSERTする。。。という一連の処理が走るので遅いのだとか。


ですので、できるだけ大量のUPDATEが一斉に走る ようなプログラムを組むのはできるだけ避けるようにしましょう。


UPDATE性能がUPDATEされることを望む。。。 

 

・インデックス性能を最大限引き出すには「VACUUM ANALYZE」を実行するとよい。


・Text型は、オリジナルテキストの最大5倍のディスクスペースを消費する。


使っていかないと分からないこと、いろいろありますよね。でもその壁が以外と分厚いことも多々あります。 そんなノウハウ情報を今後もアップしていければと思います。