處理Ubuntu MariaDB慢查詢可從配置、優化、監控三方面入手,具體如下:
啟用慢查詢日志
/etc/mysql/mariadb.conf.d/50-server.cnf
,添加以下參數:slow_query_log = 1
long_query_time = 2 # 設置慢查詢閾值(單位:秒)
slow_query_log_file = /var/log/mysql/mariadb-slow.log # 日志文件路徑
log_output = 'FILE,TABLE' # 同時輸出到文件和數據庫表
sudo systemctl restart mariadb
。分析慢查詢日志
pt-query-digest
(Percona工具包):分析日志并生成報告,指出慢查詢的SQL語句及優化建議。mysqldumpslow
:按執行頻率或時間排序慢查詢,輔助定位問題。SHOW PROCESSLIST
命令查看當前慢查詢的實時狀態。優化SQL與索引
EXPLAIN
分析查詢執行計劃,檢查是否存在全表掃描、索引缺失等問題。SELECT *
,使用LIMIT
分頁,簡化JOIN邏輯。調整數據庫配置
query_cache_size
),適用于讀多寫少的場景。硬件與系統優化
vm.swappiness
),優化系統資源分配。定期維護
OPTIMIZE TABLE
整理表碎片,提升查詢效率。通過以上步驟,可有效識別并解決MariaDB中的慢查詢問題,提升數據庫性能。