sql >> データベース >  >> RDS >> Mysql

なぜPostgreSQLはWindowsでとても遅いのですか?

    Windows上のPostgreSQLは、移植時にトレードオフが発生したため、他のソリューションと比較して追加のオーバーヘッドを支払う場合があります。

    たとえば、PostgreSQLは接続ごとにプロセスを使用し、MySQLはスレッドを使用します。 Unixでは、これは通常、目立ったパフォーマンスの違いではありませんが、Windowsでは、新しいプロセスの作成に非常にコストがかかります(fork()システムコールがないため)。このため、永続的な接続または接続プールを使用することは多くです。 PostgreSQLを使用する場合、Windowsではより重要です。

    私が見たもう1つの問題は、Windows上の初期のPostgreSQLは、デフォルトで、バッテリーでバックアップされている場合でも、書き込みが書き込みキャッシュを通過することを確認することです。 AFAIK、MySQLはこれを行わず、書き込みパフォーマンスに大きく影響します。さて、これは、安価なドライブなどの安全でないハードウェアを使用している場合に実際に必要になります。ただし、バッテリでバックアップされた書き込みキャッシュがある場合は、これを通常のfsyncに変更する必要があります。 PostgreSQLの最新バージョン(確かに8.3)は、代わりにデフォルトでopen_datasyncになり、この違いがなくなるはずです。

    また、データベースの構成をどのように調整したかについても何も言及していません。デフォルトでは、PostgreSQLに付属している構成ファイルは非常に 保守的。何も変更していない場合は、必ず確認する必要があります。 PostgreSQLwiki で利用可能なチューニングアドバイスがいくつかあります。 。

    さらに詳細を提供するには、実行速度が遅いものと、データベースをどのように調整したかについて、より多くの詳細を提供する必要があります。 pgsql-generalメーリングリストにメールを送ることをお勧めします。



    1. MySQLチュートリアル–MySQLサーバーでのSSLの構成と管理

    2. LOAD DATA INFILEを使用してMySQLテーブルにインポートするときにCSVファイルの列をスキップするにはどうすればよいですか?

    3. LaravelのFluentを使用してIGNOREを挿入

    4. URLから値を取得する方法