一個項目的運行,總伴隨着性能問題,系統查詢過慢,如何快速查詢等數據庫
下面將簡單講解一下,如何去排查及解決這些問題。緩存
開發過程當中:性能
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