(ハードウェアの点で)2つの同一のサーバーがあり、どちらもWindows Server 2008 r2の標準インストールであり、最小限のソフトウェアがインストールされています(基本的には私のコードとjvmなどの必要なもの)。
1台のサーバーで、2台目のサーバーpostgresql 9.1でSQL Server 2005を実行しています。これら2台のサーバーでのパフォーマンスの違いは驚異的であり、上司への最初の「SQLサーバーライセンスの代金を支払う代わりにpostgresqlを使用しましょう」と後悔しています。同じコマンドで30秒と15分という違いを話しているのですが、これはこの1つのコマンドだけでなく、私が投げるクエリやコマンドでもあります。両方ともほぼ同じデータを持ち(レコードは異なる順序で挿入されました)、両方のデータベースはまったく同じ構造/インデックスなどを持っています。
しかし、それは単なるパフォーマンスチューニングの問題だと思います。実は、SQLサーバーはサーバー上で32ギガバイトすべてのRAMを使用していますが、postgreslは何も使用しておらず、ギグよりも確実に少ないのですが、実際には詳細に把握していません。
postgresqlで20ギガバイト以上のRAMを使用するにはどうすればよいですか?これらのサーバーはこのデータベース専用に構築されているため、データベースとサポートプロセスで使用されていないラムは無駄になります。
SET effective_cache_size=18G;
(デフォルトの設定は極めて低い)ところで:これは64ビットマシン(なしPTE)であると仮定