日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取sqlserver的数据_Python:使用并发未来进程P读取sqlserver数据

發布時間:2023/12/2 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取sqlserver的数据_Python:使用并发未来进程P读取sqlserver数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我是一個從未使用過任何并行處理方法的新手。我希望從SQL Server讀取大量數據(即至少200萬行),并希望使用并行處理來加快讀取速度。下面是我使用并發未來進程池進行并行處理的嘗試。在class DatabaseWorker(object):

def __init__(self, connection_string, n, result_queue = []):

self.connection_string = connection_string

stmt = "select distinct top %s * from dbo.KrishAnalyticsAllCalls" %(n)

self.query = stmt

self.result_queue = result_queue

def reading(self,x):

return(x)

def pooling(self):

t1 = time.time()

con = pyodbc.connect(self.connection_string)

curs = con.cursor()

curs.execute(self.query)

with concurrent.futures.ProcessPoolExecutor(max_workers=8) as executor:

print("Test1")

future_to_read = {executor.submit(self.reading, row): row for row in curs.fetchall()}

print("Test2")

for future in concurrent.futures.as_completed(future_to_read):

print("Test3")

read = future_to_read[future]

try:

print("Test4")

self.result_queue.append(future.result())

except:

print("Not working")

print("\nTime take to grab this data is %s" %(time.time() - t1))

df = DatabaseWorker(r'driver={SQL Server}; server=SPROD_RPT01; database=Reporting;', 2*10**7)

df.pooling()

我當前的實現沒有得到任何輸出。"Test1"打印,就這樣。沒有其他事情發生。我理解并發未來文檔提供的各種示例,但我無法在這里實現它。我將非常感謝你的幫助。謝謝您。在

總結

以上是生活随笔為你收集整理的python读取sqlserver的数据_Python:使用并发未来进程P读取sqlserver数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。