sqlalchemy.exc.OperationalError:超出堆栈深度限制

时间:2017-01-06 20:32:31

标签: python postgresql sqlalchemy psycopg2

执行以下查询时,我收到sqlalchemy.exc.OperationalError错误:

    present_keys = self.engine.execute(
        _sql.select(
            [self.table.columns.qid, self.table.columns.did],
            _sql.tuple_(self.table.columns.qid, self.table.columns.did).in_(
                [(row['qid'], row['did']) for row in rows]
            )
        )
    ).fetchall()

问题是,查询适用于~5k这样的少量行,但是当我尝试以大约50~100k运行它时,我得到了这个错误。

我猜查询本身是一种非常糟糕的方式来做我想要的。 (我只是检查数据库中已有哪些行,因此我可以将需要插入的行与需要更新的行分开)。

解决这个问题的最佳选择是什么?进行不同的查询?在PostgreSQL / psycopg2中增加某种设置?

0 个答案:

没有答案