數據庫性能問題排查

 一個項目的運行,總伴隨着性能問題,系統查詢過慢,如何快速查詢等數據庫

下面將簡單講解一下,如何去排查及解決這些問題。緩存

開發過程當中:性能

  1:不要絕對的三範式,適當創建冗餘可以提升查詢速度,不用多表關聯spa

  2:能用表關聯就不要出現循環SQLcode

   例子:下面的這種狀況,每查出T_t1的一條數據,就會循環查找T_t2中的數據,使表關聯的索引失效,形成反應慢。   blog

--錯誤示範
SELECT A,B,(SELECT C FROM T_t2 WHERE ID=T_t1.ID) FROM T_t1
--正確作法
SELECT A,B,C FROM T_t1,T_t2 WHERE T_t1.ID=T_t2.ID

  3:配置log4jdbc,方便查找出問題的SQL排序

  4:建立合理的索引索引

  索引適用於在大範圍數據庫查找小範圍的數據,若該列數據大部分值相同,或者獲取數據量比重大,就不適用於建立索引。內存

 

維護過程當中:開發

  1:更改數據庫參數:當一個數據庫安裝後,應更改參數,使其更有利於項目的使用

    修改數據緩存區參數:數據緩存是把磁盤的信息裝入到內存,讀取內存比讀取磁盤速度快的多,應適當提升數據緩存區。

    修改我的排序區參數:當須要排序的數據,多於提供的內存空間,就會部分數據在排序區,而部分在磁盤區,會通過屢次內存與磁盤交換,才能完成排序,影響排序速度。

  2:按期進行表分析,讓數據庫表一些信息從新生效

  3:重建索引,對於一個常常會添加刪除的表來講,數據變化不大,但索引卻在不停膨脹,因此,按期重建索引,有利於查詢。

  4:按期對錶碎片進行整理。

  5:查看慢SQL的執行計劃:以Sybase做爲示例

查看語句的執行計劃: 
SET  SHOWPLAN  ON  
GO  
SQL語句
GO  
SET  SHOWPLAN  OFF  
GO  

查看存儲過程執行計劃: 
SET  SHOWPLAN  ON  
GO  
EXEC  PR_存儲過程
GO  
SET  SHOWPLAN  OFF  
GO   
相關文章
相關標籤/搜索