鉴于一个混乱的postgres查询(例如,有很多子查询)有没有办法找出查询将返回哪些列而不运行查询本身?
如果我理解正确,续集的Dataset#columns
方法(Documentation)会调用附加LIMIT 1
的查询。这对于简单的查询来说很好,但如果涉及子查询,似乎这种方法仍会导致计算这些子查询。
(一种方法可能是为每个子查询添加一个LIMIT 1,但我不确定如何去做。)
我正在使用Postgres 9.2和Sequel。
谢谢! (我知道这个问题并不像可能需要的那样准确 - 请告诉我我可以提供哪些可能有用的信息。)
答案 0 :(得分:1)
您可以通过解释并添加选项VERBOSE来执行此操作。看看这里
http://www.postgresql.org/docs/9.1/static/sql-explain.html