購買新硬件之前想一想 三招簡單貼士助數據庫管理員領先同行

在這個以應用程式為中心的 IT 時代,愈來愈多人著迷於即時的滿足。用戶不單止對慢速的應用程式毫無耐心,還愈來愈期望 IT 團隊能夠立即解決各種問題。當企業反應時間過慢,僱員情緒低落,生產力驟降或推諉責任頻頻發生時,指責的對象通常會是數據庫以及數據管理員團隊。為應對慢速的效能,高層管理者第一反應可能是斥資購置昂貴的硬件。但購置新的數據庫伺服器代價通常亦非常之高,因此在購買新硬件之前應更深入地了解查詢應用程式效能。

幾年前,網站載入時間的標準是 8 秒,但與現時相比,這個時間實在太長了。在這個以應用程式為中心的 IT 時代,愈來愈多人著迷於即時的滿足。用戶不單止對慢速的應用程式毫無耐心,還愈來愈期望 IT 團隊能夠立即解決各種問題。

 

SolarWinds 近期的一項調查發現,94% 的商業終端用戶認為應用程式效能與可用性直接影響其工作能力, 44% 的受訪者表示該問題非常重要。更有另外 66% 受訪者期望 IT 團隊能夠在報告問題的一小時內完全解決問題。這些數據突顯出終端用戶的思維所發生的巨大變化以及 IT 部門所承受的壓力日益加劇。當企業反應時間過慢,僱員情緒低落,生產力驟降或推諉責任頻頻發生時,指責的對象通常會是數據庫以及數據管理員團隊。

為了應對慢速的效能,高層管理者第一反應可能是斥資購置昂貴的硬件。但購置新的數據庫伺服器代價通常亦非常之高——包括持續增加的日常管理費及業務成本。因此在購買新硬件之前應更深入地了解查詢應用程式效能。確認配置有一個可以全天候不間斷監控及持續記錄查詢效能的系統,能夠分析歷史數據,識別對提高應用程式查詢效能起關鍵作用的趨勢及異常情況。這種可見性不單止可以識別潛在問題,還有助於緩解瓶頸及全面提高效能。

 

數據庫專家提供三招貼士

為幫助企業更輕鬆地展開工作,以下一些簡單貼士,確保應用程式查詢可以流暢有效地運行:

一、驗證

  • 檢查基底數據表(並非檢視表)並驗證期望的列數。通常情況下,大家並不了解,一個表可能有數以百萬計的列數與其他大小類似的表連接。
  • 檢查過濾器——務必檢查用於了解預期返回結果集的「where」及「join」子句。
  • 了解表索引的可選性,確保工作的對象儘可能是最小的邏輯集。

 

二、分析

  • 分析查詢欄,尋找 SELECT * 或者標量函數。
  • 尋找 CASE,CAST 以及 CONVERT。切勿忽略子查詢。
  • 檢查現有的關鍵碼、限制與索引。在您變更現有索引或新增新索引之前,這一步驟非常關鍵。
  • 檢查執行計劃。尋找可能高成本的運算子,例如表或索引多工緩衝、嵌套循環連接以及龐大管道。同時,尋找可能的警告圖示,如隱藏的轉換,或提醒索引缺失的警告。
  • 務必關注邏輯 I/O(邏輯讀取的數量)。

 

三、優化

  • 調節查詢,首先關注成本最高的運算。
  • 務必一次只做出一個變更,並在每一次重複動作之後記錄結果。
  • 尤其是當無法變更代碼時,可考慮調節索引。

 

在準備購買新的硬件之前,不妨嘗試這些貼士,確保企業的數據庫能夠發揮應有的實際作用!

 

作者:Thomas LaRock, SolarWinds 極客達人