資料庫並行讀取和寫入
這篇主要記錄一下如何實現對資料庫的並行運算來節省代碼運行時間。語言是Python,其他語言思路一樣。
一共23w條數據,是之前通過自然語言分析處理過的數據,附一張截圖:
要實現對news主體的讀取,並且找到其中含有的股票名稱,只要發現,就將這支股票和對應的日期、score寫入資料庫。
顯然,幾十萬條數據要是一條條讀寫,然後在本機上操作,耗時太久,可行性極低。所以,如何有效並行的讀取內容,並且進行操作,最後再寫入資料庫呢?
並行讀取和寫入
並行讀取:創建N*max_process個進程,對資料庫進行讀取。讀取的時候應該注意:
每個進程需要分配不同的connection和對應的cursor,否則資料庫會報錯。
資料庫必須能承受相應的高並發訪問(可以手動更改)
實現的時候,如果不在進程裡面創建新的connection,就會發生衝突,每個進程拿到許可權後,會被下個進程釋放,所以彙報出來NoneType Error的錯誤。
並行寫入:在對資料庫進行更改的時候,不可以多進程更改。所以,我們需要根據已有的表,創建max_process-1個同樣結構的表用來寫入。表的命名規則可以直接在原來基礎上加上1,2,3...數字可以通過對max_process取余得到。
此時,對應進程裡面先後出現讀入的conn(保存消息後關閉)和寫入的conn。每個進程對應的表的index就是主循環中的num對max_process取余(100->4,101->5),這樣每個進程只對一個表進行操作了。
部分代碼實現
※一場蘋果手機配件盛宴即將開始,你準備好了嗎
※自己動手換電池危險重重品勝電池包安裝更有保障
※好像童話世界 無人機航拍美國各大公園
※「土豪金」共享單車功能太強大:騎車時間越長手機電量越多
※華碩:《王者榮耀》搶佔PC電競份額,大家怎麼看?
TAG:安卓網 |
※flash與資料庫 讀取資料庫數據
※評估讀取密集型與寫入密集型應用場景中的SSD用例
※讀取血壓結果取平均值
※使用信用卡磁條讀取器讀取酒店鑰匙卡信息
※命令行小技巧:讀取文件的不同方式
※可以讀取你的想法並轉化成語音的機器
※疑似《死亡擱淺》讀取載入畫面泄露 進度條可視
※U盤插入電腦後不識別無法讀取的解決方法
※U盤不能卸載,直接拔再插入提示:「目錄損壞且無法讀取」的解法
※為什麼分化的細胞能準確的讀取遺傳編碼,是誰在控制這個過程?
※網警提示您,這些軟體正在讀取您的信息,盜取密碼
※難以察覺的藝術:遊戲讀取界面的秘密
※AI如何幫助我們讀取體內的生物鐘信息?
※終於整治了!這些APP不得強制讀取通訊錄 隨意獲取用戶信息時代將結束?
※三步幫你提升機械硬碟讀取速率
※為什麼人類記憶讀取很慢呢?
※蘋果確認將修復導致Siri讀取隱藏鎖屏通知的錯誤
※R0Ak:Windows 10內核模式代碼讀取、寫入和執行測試工具
※讀取霍金先生所遺留的知識……
※金融借貸類不應強制讀取通訊錄 格力電器實名舉報奧克斯