【发布时间】:2016-08-02 04:35:28
【问题描述】:
我需要知道特定查询将运行多长时间(我预计运行时间会很长)。为此,我决定在查询集上运行EXPLAIN ANALYZE,仅使用整个数据集的一部分并从那里推断。但我有一个问题;在连接超时之前查询需要两个多小时,让我没有结果。我不想增加超时,因为我不知道可能会运行多长时间(在两小时到两天之间)。
有什么方法可以指示 SQL 服务器将数据输出到服务器文件系统上的文件中,这样我就不必担心超时了?我尝试了以下方法:
Copy (
EXPLAIN ANALYZE INSERT INTO <table>
<Long complex query here>
) To '/tmp/analyze.csv' With CSV;
但我在EXPLAIN 收到错误消息。
为了记录,是的,我想做ANALYZE,因为
- 它减少了以后要处理的数据量,并且
- 它给出了一个实际的时间估计值。
【问题讨论】:
标签: postgresql file output explain