特定のクエリが実行される時間を知る必要があります(非常に長い実行時間が必要です)。これを行うために、私はデータセット全体の一部のみを含むクエリセットに対してEXPLAIN ANALYZE
を実行し、そこから外挿することにしました。しかし、私には問題があります。接続がタイムアウトするまでに2時間以上かかるので、結果は表示されません。私はどれくらいの時間(2時間と2日の間)か分からないので、タイムアウトを増やしたくありません。Postgresqlの出力EXPLAIN ANALYZE to file
サーバーのファイルシステム上のファイルにデータを出力するようにSQLサーバーに指示する方法はありますか?タイムアウトについて心配する必要はありませんか?
Copy (
EXPLAIN ANALYZE INSERT INTO <table>
<Long complex query here>
) To '/tmp/analyze.csv' With CSV;
が、私はEXPLAIN
でエラーが発生します。私は、次のことを試してみました。レコードの
- ので、はい、私は
ANALYZE
をしたい、それは後で処理するデータの量を減らし、かつ - それは実際の時間の推定を与えます。
ありがとうございます!それはまさに私が必要としていることをするようです。クエリを実際に実行したいのは、後で行うことが少なくて済むからです。また、私は、クエリが接続タイムアウト後に実行され続けることを知っているので、私は説明がキャンセルされることを心配していません。問題は終了し、接続が閉じられて結果を見たことはありませんでした。ファイルに書き込むということは、私が後で確認できることを意味します。 – user2752635