擅长:python、mysql、java
<p>最后返回到以前使用SqlAlchemy运行查询的解决方案。这使我能够并行化事情,运行一个<em>小</em>更快,因为它确实是一个非常大的查询。你知道吗</p>
<p>我知道数据集有助于这个查询的一些事情——我只希望每个表有不同的日期,并且这些日期是我的数据集中的主键。我最终使用了来自<a href="https://wiki.postgresql.org/wiki/Loose_indexscan" rel="nofollow">this wiki page</a>的方法。查询中发送的代码如下所示:</p>
<pre><code>WITH RECURSIVE t AS (
(SELECT date FROM schema.tablename ORDER BY date LIMIT 1)
UNION ALL SELECT (SELECT knowledge_date FROM schema.table WHERE date > t.date ORDER BY date LIMIT 1)
FROM t WHERE t.date IS NOT NULL)
SELECT date FROM t WHERE date IS NOT NULL;
</code></pre>
<p>我把查询的结果拉到一个列表中,如果我的所有日期都不在列表中,那么就把它们保存起来,以备以后使用。有可能只需要在pgsql控制台中运行它,但是对我来说,本地保存比在db中查询temp表更容易。你知道吗</p>