想找出查詢執行緩慢的根本原因需要考慮到許多因素,並要採取一種有組織的方法。幸運的是,只需下一點功夫,檢查幾項事情就能將問題弄清楚為更常見的元凶之一。在今天的文章中,我們將學習 Navicat Monitor 2 如何幫助你解決緩慢的查詢執行。
網路問題
資料庫伺服器被設計為可以透過內部或外部網路存取,例如全球資訊網(World-wide Web)。因此,偶爾會遇到連線斷線,中斷甚至可能持續數小時或數天。在本機環境中良好的效能是相當不錯,但不一定足以完全排除網路問題,因為伺服器本身可能會超載。你可以使用能追蹤伺服器作業系統度量(例如 CPU程序和記憶體)的監控工具做測試。Navicat Monitor 就能透過追蹤 O/S 度量來提供幫助。
如使用 Windows 類型伺服器,你可以配置「CPU 和記憶體」部分,透過簡單網路管理協定(Simple Network Management Protocol,簡稱 SNMP)監控 O/S 度量:
這樣做儀表板中的執行個體卡片會顯示伺服器度量(例如 CPU、記憶體和磁碟使用量):
你還可以按一下系統度量以查看更多詳細資料,包括調換使用量、連線和網路輸送量。每個度量都有一個可互動的圖表:
查詢監控
排除了網路問題後,就可以仔細檢查查詢本身了。查詢取得正確的資料在功能上可以是正確的,但是透過有效的方式仍然可以做到這一點。設計查詢以將效率升到最高的方法至關重要,因為根據資料庫引擎的不同,所有查詢都可能按順序執行。舉個例子,MySQL 的 MyISAM 引擎在執行查詢時會取得資料表層級鎖定,以保護交易期間的資料完整性。在此期間,其他程序或查詢必須等到第一個查詢完成後才能執行。如果第一個查詢需要長時執行,那等待可能會很漫長!
Navicat Monitor 的「查詢分析器」在這方面非常有用。它顯示所有正在執行的查詢的摘要資訊,並讓你找到有問題的查詢,包括:
- 累計執行時間最長的查詢
- 回應時間不可接受的慢速查詢
- 死結(當兩個或多個查詢永久互相封鎖時)
總結
在今天的文章中,我們了解了 Navicat Monitor 2 如何幫助你解決查詢執行緩慢的問題!
Navicat Monitor 一套安全、簡單而且無代理程式的遠端 MySQL、MariaDB 和 SQL Server 伺服器監控工具。它包含一組豐富的即時和歷史圖表,可讓你深入了解伺服器統計的詳細資料。最新版本的 Navicat Monitor(版本 2.0)現支援 SQL Server!
Navicat Monitor 版本 2.0 現已在 Navicat線上商店出售,價格分別為 499 美元/記號(商業)和 199 美元/記號(非商業)。1 個記號可用於解鎖 1 個 MySQL 伺服器、1 個 MariaDB 伺服器或 1 個 SQL Server。