2017-01-19 17 views
0

私は遅いSQLクエリを成功させることなく数日を過ごしました。私は多くの類似の質問と答えを発見したが、私は別の問題を抱えている:Postgresqlはネットワーク経由でクエリ結果を非常にゆっくりと送信しています

-Iはarroundの5000のレコードと30列
-Iを持つ単純なテーブルはpgAdmin3を経由して、単純なselect * from this_tableコマンドを送信し、15〜のために働いてきました結果を表示するのに20秒。

いいえJOINといいえWHERE

クエリが実行されているときに、postgresqlがLAN経由でクライアントにデータを送信するのはわずか4 Mb/psです。私はギガビットLANを持っています。ファイルのコピー、ftpなどは、このサーバーの同じチャネルで700〜800 Mb/psで動作しています。

私はすでに、psqlコマンドを使用してサーバーコンソールで同じsqlコマンドをテストしました。クエリはわずか数ミリ秒で終了しますが、これは問題ありません。私はディスクやファイルに問題はありません。

私はpostgresql configに関するすべてのドキュメントを読んで、work_memなどを成功させました。

どうすればよいですか?

+0

すべてのドキュメントはすべて読んでいますか? –

+0

クライアント側で 'psql'を使って' \ copy'を試してください - データを表示するのに時間がかかり、転送しないのでしょうか? –

答えて

0

pgAdmin IIIでほぼ確実に時間が費やされています。プロセスのCPU使用率を確認してください。大きな結果セットを表示するには、pgAdmin IIIに長い時間がかかります。

おそらくpsqlを使用する必要があります。

+0

ありがとうございます。 CPUは5〜10%で動作しています。私はMikrotikルータのネットワークプロセスを見る。私はちょうど4mbps(ゆっくり)でサーバーからクライアントにデータが移動しているのを確かめています。私が書いたように、サーバー上に結果は数msで表示されます。 – user3781113

+0

クライアントマシンで 'psql'を使用した場合のパフォーマンスはどうですか? –

+0

ops!クライアントからのpsqlは431 Mbpsで読み込まれます...(100倍高速...)今、私は、pgAdminが本当に遅いことを認識し、私のWindowsアプリケーションソフトウェアをスピードアップするためにdevart dotConnectコンポーネントをチェックする必要があります。今、私は確信している、サーバー側、ネットワークなどは大丈夫です。多分私はODBC接続を試みます。あなたのコメントのThnx! – user3781113

関連する問題