簡體   English   中英

插入,選擇和更新查詢會降低整個服務器的速度

[英]Insert, Select and Update Query Slows Down the Entire server

我正在處理一個超過10000000數據的應用程序。

MainTable擁有超過1000萬個數據

我正在嘗試將數據從主表插入子表中

INSERT INTO SubTable(Value1,Value2)
SELECT Value1,Value2 FROM MainTable
GROUP BY Value1_ID;

在SubTable中執行某些處理之后。我再次將新值更新為Main Table

UPDATE MainTable inf,SubTable in
SET inf.Value1=in.Value1, inf.Value2=in.Value2
WHERE inf.Value1_ID= in.Value1_ID;

運行此查詢時,整個服務器變得非常慢,並且它停止了其他所有事務。我在這里使用JDBC驅動程序管理器連接。 如何避免這種情況? 如何解決這個問題呢?

如果只需要偶爾執行一次操作,則可以設置一個小腳本,該腳本每隔幾秒鍾/分鍾便會逐行更新一次,而不是一次更新整個表。 其他進程將在兩次更新之間自由執行查詢。
例如,通過每分鍾更新100,000行的批處理,如果表具有正確的索引,則將花費1到2個小時,但對性能的影響要小得多。

另一種解決方案是在服務器上的活動處於最低狀態時 (可能是在周末期間進行)進行更新,這樣您就不會對其他進程造成太大的影響。

暫無
暫無

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

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