0

我在数据库中有数百万条记录,我想通过 Python 读取它并将其存储在 pandas 数据框中。问题是选择查询处理时间非常长。为了减少查询处理时间,我尝试对其执行多线程,我创建了 3 个线程并根据每个线程进行查询,例如

Select * from ( select *,rownum over (order by col1) rn from table) where rn%3=0 


Select * from ( select *,rownum over (order by col1) rn from table) where rn%3=1


Select * from ( select *,rownum over (order by col1) rn from table) where rn%3=2

然后我通过 threading 包在 Python 中使用线程运行每个查询。

但它也没有减少很多时间

我可以采取任何其他方法来减少查询阅读时间。注意-我同时使用了 jdbc 和 odbc 连接

4

2 回答 2

0

只有当底层数据库引擎支持时,您才能使用多线程。你应该检查一下。对于您的问题,我认为附加的链接将对您有所帮助: 请参阅此 如果答案对您有帮助,则通过将其选为最佳答案来帮助社区。

于 2019-05-31T06:09:07.697 回答
0

下面的链接帮助我 使用 JDBC 连接和池进行多处理, 我可以在我的 local.machine 上获得大约 25% 的收益。

于 2019-06-01T19:19:10.553 回答