簡體   English   中英

如何盡快插入數據庫(多線程程序)?

[英]How to insert into a database as fast as possible (multi-threaded program)?

我的服務器上有一個php腳本,該腳本連接到MySQL數據庫並插入重復鍵(插入或更新)中。

我的Java程序在服務器上調用php腳本,從我從中下載內容的網站上針對不同類別運行多個線程。

我的程序結構如下所示:

  • 抓取鏈接以從中下載內容
  • 啟動(例如)10個線程(每個類別一個)
    • 在每個線程中插入一行n次(調用php腳本)

如果執行此操作,則會在數據庫上出現死鎖。

所以我的問題是,如何設置此程序以盡可能快地插入從網站下載的內容而不會陷入死鎖?

您應該考慮創建一個ConnectionPool並從該池中為數據庫獲取連接,並嘗試對大量數據進行批量插入。

暫無
暫無

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

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