2001/02/28(水) 06:18
PostgreSQL って Oracle ほどシステム統計取れない(というか全然取れない)
からチューニングは一苦労だよね。
URLリンク(www.linux.or.jp) の
3.7, 4.9, 4.10, 4.23 あたりは読んだ?
あとはこの辺かな。
URLリンク(www.itboost.co.jp)
あと Vacuum かけないと Index は効果半減。Vacuum と Index の関係については
以下が参考になるかも?
URLリンク(www.geocrawler.com)
以上に書いてない事柄で、自分が知っているのはこれくらい。
1 もこれくらいは知っているだろうけど。
・PostgreSQL は遺伝的アルゴリズムを用いてアクセスパスを決定しているが、
非常に複雑なクエリーの場合、計算量が増えすぎてしまって、そこで余計な
時間をつぶすことがある。
$PGDATA/pg_geqo (pg_geqo.sample をコピー) の Generations をぐっと
減らすと、効率は悪くなるが計算時間も減るので、割と単純なクエリーの
場合には効果が大きい。
・Join することがないテーブル群がある場合、別々のデータベースに格納し、
かつそれぞれのデータベースを別のディスク I/O に置く。詳細は Admin Guide の
Chapter 10 "Disk Management" を参照。
先のリンクにあるようにテーブルを作って別のディスク上に移動し ln -s
するのでもよし。
・PostgreSQL のセッションコンテキストの変数を操作することで、アクセス
パスを手動で最適化することができる(これは今回はじめて知った・・)。
詳細は Users Guide の 17. Understanding Performace と 19. の sql-set を
参照。
# 探せば結構出てくるじゃん。