首页 > 解决方案 > 将游标对象共享给多个线程 cx_oracle

问题描述

我正在尝试从 oracle 表中获取数据并使用 python 的 cx_oracle 模块写入 csv。

它工作正常,但是当有大量数据时,它会花费太多时间。我想使用线程/多处理来优化它。

目前我正在使用一个固定的游标大小,比如说 50k 并执行 fetchmany() 方法来一次获得那么多行。

我没有主键,我可以通过创建与数据库的多个新连接来订购表。所以我多次运行这个 fetchmany () 方法,直到没有更多的数据可以获取。

我想知道如何将该光标共享给我的线程,以便以并行方式运行 fetchmany() 以 4-5 倍的速度完成工作。

我试图将该光标对象作为参数传递,但这不起作用并给我一个错误DPI -1042 INVALID OCI NUMBER

标签: pythoncx-oracle

解决方案


推荐阅读