長事務產生大量臨時表導致內存超限的解決辦法
更新時間 2025-03-27 10:41:18
最近更新時間: 2025-03-27 10:41:18
分享文章
本節介紹了長事務性能相關問題與解決方法。
場景描述
云數據庫TaurusDB實例在11:30到12:27分內存使用率持續上升,最終觸發內存超限。
圖 內存使用率


原因分析
- 查看processlist.log日志,查詢到有兩個慢SQL與下圖中內存增長的時間比較匹配。
圖 查詢慢SQL


- 查看慢查詢中的表數據量約90GB,數據行數約10億行,且通過下圖中的執行時間可以看出,兩個SQL執行了40~50分鐘,跟監控中內存增長的時間基本一致,確定是臨時表內存不受控導致。


解決方案
- 升級實例規格,將內存利用率維持在合理范圍,防止業務突增導致實例OOM。變更實例規格的詳細內容請參考變更實例的CPU和內存規格。
- 根據業務實際情況優化慢查詢。