代码之家  ›  专栏  ›  技术社区  ›  user1008636

使用cx执行查询时处理数据速度慢_Oracle.光标

  •  1
  • user1008636  · 技术社区  · 6 年前

    cursor = conn.execute(TEMPLATE, {'var1':'value1', 'var2':'value2'})
    

    conn是一个oracle连接。

    上面的语句在1,2秒内返回。然后我会:

    fields = [d[0] for d in cursor.description]
    [dict(izip(fields, row)) for row in cursor]
    

    为了将结果转换为一个字典列表。第二条语句(“for row in cursor…”)被卡住了,就像这样,它似乎无限期地运行。

    现在,这是在我们的服务器上的一个远程框上运行的,如果我在本地框上对同一个数据库运行相同的查询,所有内容都会在30秒内返回,距离游标只有200行。对于结果中只有200行的不同框,它怎么能运行这么长时间连接执行()语句返回太快(在框中)?

    我还能做些什么来进一步调查呢?

    0 回复  |  直到 6 年前