Mysql

數據庫性能調整

  • August 6, 2017

我有一個 MySQL 後端,MS Access 前端系統,它在本地網路上很好且響應迅速,但在寬頻連接上變得遲緩。到目前為止,我還沒有進行任何性能調整。我應該使用哪些推薦的工具和調整方法?

最近,我發現 MySQL 保留了一個“通用查詢日誌”。也許我可以監視此日誌文件中的更改,以查看實際向伺服器發出的請求。這是微調的好方法嗎?

一個很好的起點是MySQL 慢查詢日誌而不是一般查詢日誌。您可以設置

您需要記錄不使用索引的查詢

更新 在您的問題中,您聲明系統在本地網路上“良好且響應迅速”,但您尚未進行任何性能調整。我指出的慢查詢日誌將幫助您辨識需要很長時間才能執行的查詢(如果以這種方式配置,則超過 1 秒)。IMO,這是一個很好的起點。查詢花費的時間越長,當必須通過 WAN 傳輸響應時,情況就會變得更糟。

我最近發現的一個工具是mk-tcp-model,它可以分析 tcpdump 的輸出以幫助測量請求響應所需的時間。您可以看到有多少請求/響應進來以及每個需要多長時間。對 WAN 的最佳調整是減少您需要發出的請求數量。

你在使用交易嗎?

線路延遲會影響事務的鎖定時間。

這將大大降低您的數據庫性能。

編輯:

也嘗試執行 MySQL--skip-name-resolve

http://dev.mysql.com/doc/refman/5.0/en/dns.html

編輯2:

我不知道你的原始碼。如果您在 foreach 樣式中使用數據庫操作也很糟糕,尤其是在具有高延遲網路的情況下。在這種情況下,嘗試一下子獲取需要的數據,當然,只獲取需要的數據。

引用自:https://dba.stackexchange.com/questions/2977