【发布时间】:2019-06-02 03:19:10
【问题描述】:
我在数据库中有数百万条记录,我想通过 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
然后我通过线程包在 Python 中使用线程运行每个查询。
但它也没有减少多少时间
我可以采取任何其他方法来减少查询阅读时间。 注意-我同时使用了 jdbc 和 odbc 连接
【问题讨论】:
-
这可能会有所帮助 - stackoverflow.com/questions/49658348/…
-
感谢您的调查。我正在查询一个名为 DENODO 的虚拟化工具。我注意到一件奇怪的事情,当我运行简单查询 select * from table 时,我的线程查询(在实际问题中提到)所花费的时间相同。我仍然不确定为什么会这样。我为每个线程创建了不同的 jdbc 连接。
标签: python multithreading pandas denodo