首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用大型python列表和Psycopg2快速查询Postress表。

使用大型python列表和Psycopg2快速查询Postress表。
EN

Stack Overflow用户
提问于 2017-08-29 06:26:55
回答 1查看 472关注 0票数 0

我有一个超过2000个元素的python列表。我有一个postgress表,我需要查询这些元素中的每一个,我目前使用以下内容。

代码语言:javascript
复制
cur.execute("SELECT * FROM patent_info WHERE patentno = ANY (%s);", (list_of_patent,))

这样做的目的是针对列表中的每个元素逐个查询表,然后使用以下命令将这些数据存储在一个数据帧中

代码语言:javascript
复制
data = cur.fetchall()

问题是,对于超过2000个元素,响应需要一段时间才能生成,有时会导致我的webapp超时或浏览器超时。

我正在寻找一种方法来更快或更高效地查询表中的所有元素。

我考虑过对列表中的每个元素都使用for循环,并使用cur.fetchone(),但我认为这样会更慢。

EN

回答 1

Stack Overflow用户

发布于 2017-08-29 19:46:11

代之以执行join

代码语言:javascript
复制
cursor.execute("""
    select *
    from
        patent_info
        inner join
        unnest(%s) u(patentno) using (patentno)
""", (list_of_patent,))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45928155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档