簡體   English   中英

mysql讀取->處理->更新,針對大量數據進行優化

[英]mysql read -> process -> update, optimize for huge data

我有一個簡單的任務。 從mysql讀取數據->執行一些操作(不是很重)->然后將結果更新回mysql DB`。 數據庫中有20個不同的表(每個表約600000行)。

我已經使用ThreadPoolExecutor(max_workers=20)編寫了一個python腳本來優化總體執行時間,但是大約需要40個小時。 我想對其進行優化以用於下一次運行。

我嘗試運行多個代碼實例,但性能不是很重要。 有沒有更好的方法來快速完成任務,例如分布式代碼或任何其他人都知道的東西?

簡約的代碼算法

conn.autocommit = True
ThreadPoolExecutor(max_workers=20)
  1. 讀取數據並按元組處理元組,如下所示
  2. 使用TextBlob()。detect_language()從句子中檢測語言
  3. 更新回表

最快的方法是創建插入並每隔幾千行提交一次。 將所有內容寫入文件。 刪除索引使用mysql客戶端和creata索引加載數據。 優化服務器以進行批量操作。

Python中的並行性不起作用。 python中的並行性無法正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM