文章詳情頁
java - 定時任務輪詢數據庫壓力如何解決
瀏覽:130日期:2023-12-06 08:56:14
問題描述
有很多定時任務,而且是分布在不同的服務器上的。要輪詢數據庫中符合條件(狀態)的數據,然后在進行處理。 這樣成百上千的定時任務去輪詢數據庫,直接導致數據庫壓力劇增。
這種情況如何處理呢?怎樣減少數據庫壓力。
問題解答
回答1:把相似或類似的輪詢任務合并,以減少輪詢任務的數量
降低輪詢任務的執行頻率
優化輪詢任務內部的SQL語句,降低數據庫查詢壓力
平攤輪詢任務的執行時間,不要都集中在某個時間段
不使用輪詢任務
升級數據庫
回答2:試試把要輪詢的數據id單獨存放,任務輪詢id表,然后在根據id去單條的查詢
回答3:另外數據庫也可以設置多個從庫,定時任務可以從不同的從庫里輪詢得到數據,這樣數據庫的壓力就小很多
標簽:
java
相關文章:
1. javascript - 在ie下為什么會出現這種情況呢 《 無法獲取未定義或 null 引用的屬性“length”》 ?請大神指教。2. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。3. javascript - 我是做web前端的,公司最近有一個項目關于數據統計的!4. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)5. javascript - 只是想用node建立一個簡單的服務器6. javascript - vuejs+elementui 購物車價格計算,點擊加減號修改數量總價都不會改變,但是計算執行了7. javascript - vue過渡效果 css過渡 類名的先后順序8. css右浮動字的順序顛倒了9. html5和Flash對抗是什么情況?10. javascript - 如何使用loadash對[object,object,object]形式的數組進行比較
排行榜
