我想使用Pandas同时执行3个SQL查询。
我的3个SQL查询中的每个查询都需要1分钟才能运行。连续运行它们总共需要3分钟。查询是:
pd.read_sql(Query_1 , DB_Connection)
pd.read_sql(Query_2 , DB_Connection)
pd.read_sql(Query_3 , DB_Connection)
一种减少运行时间的解决方法是打开3个单独的IPython Jupyter笔记本,在每个笔记本中放置一个查询,然后对这三个笔记本执行或多或少同时执行。假设在这种情况下它们同时运行,则所有3个组件的总运行时间为1分钟。
如何在一个IPython笔记本中将总运行时间减少到1分钟来达到相同的结果?
您如何看待使用线程的潜在解决方案?
SQL_Queries = ["Query 1" , "Query 2" , "Query 3"]
SQL_Results = []
def myfunct(i):
SQL_Results.append(pd.read_sql(SQL_Queries[i]))
for i in range(3):
t = Thread(target=myfunct, args=(i,))
t.start()