RDS MySQL的mysql.slow_log表用於記錄執行時間超過指定閾值的SQL查詢(即慢查詢),這些日誌可以協助使用者分析資料庫效能瓶頸,最佳化查詢語句,從而提升系統整體效能。本文介紹RDS MySQL慢日誌的採集策略以及查看方法,協助您更好地理解慢日誌的行為和使用方式。
慢日誌採集策略
RDS MySQL通過logagent組件每分鐘從mysql.slow_log表中擷取慢日誌,並將其同步到後台系統進行處理,隨後logagent會使用TRUNCATE命令清空mysql.slow_log表,以減少資料表空間佔用,避免對生產環境造成壓力。
查看慢日誌明細
方法一:進入日誌管理頁面查看
日誌管理頁面僅支援查看慢日誌詳情,如有慢日誌的匯出或分析需求,請參見方法二:進入慢SQL頁面查看。
方法二:進入慢SQL頁面查看
慢SQL頁面支援查看、匯出慢日誌,並統計分析資料庫中執行時間超過閾值的SQL語句,同時提供相應的治理方案,協助您快速定位並解決資料庫效能問題,提高系統的穩定性和可靠性。
常見問題
Q:RDS MySQL資料庫中slow_log表的資料為什麼為空白?每分鐘採集後就清空了嗎?
A:由於mysql.slow_log表是系統資料表,頻繁寫入和查詢可能會影響資料庫效能,因此RDS會定期清空該表資料(不支援使用者手動調整其保留時間),以此減少資料表空間佔用,避免對生產環境造成壓力。您可以通過API介面(DescribeSlowLogRecords - 查看慢日誌明細)批量擷取慢日誌,每次匯出的慢日誌數量有限時,可分多次匯出。
相關文檔
您可以開啟DAS的自動治理功能,以便在資料庫執行個體出現慢SQL時自動進行最佳化。