最近調優了乙個使用jbuilder + jboss + sql server構建的系統,典型的三層結構,前端由jboss搭建的web伺服器構成,後端使用sql server作為資料庫。在調優之前,系統表現出的問題就是基本上沒有併發訪問,涉及到資料量大的操作反應特別慢,在多個使用者同時訪問時可能web服務奔潰。
與運維人員深入了解之後,針對最嚴重的case進行了深入了解,從web端的日子,**分析,發現主要的問題集中在兩塊,一是**邏輯的問題,而是資料庫訪問的耗時。
sql server的版本是2005.其中幾張表資料量特別大,大小都在700-800m,記錄已經達到200百萬行左右。
sql server 2005 提供了sql server profiler來跟蹤資料庫內部執行的sql語句,以及sql語句執行的耗時等等資訊,可以很好的來分析對於表的讀寫效能。在仔細分析sql server profiler的資料之前,先準備一點關於儲存過程的知識。
1使用儲存過程之後,可以加速sql語句執行的前期準備。.儲存過程是在大型資料庫系統中,一組為了完成特定功能的sql 語句集,經編譯後儲存在資料庫中,使用者通過指定儲存過程的名字並給出引數(如果該儲存過程帶有引數)來執行它。主要是提高了sql語句的執行效率,資料的查詢還是需要做索引
2.一是本地臨時儲存過程,以井字型大小(#)作為其名稱的第乙個字元,則該儲存過程將成為乙個存放在tempdb資料庫中的本地臨時儲存過程,且只有建立它的使用者才能執行它;
3.建立
create proc sp_name
@[引數名] [型別],@[引數名] [型別]
asbegin
.........
end4.呼叫
exec sp_name [引數名]
5.顯示儲存過程
show procedure status
對於一張表資料在10萬行左右,在好的索引下,對這張表執行select語句,耗時基本上可以低於1ms。
在同樣的表上建立索引之後的查詢結果對比,表的大小在20m,行數在10萬行左右,建立了好的索引,查詢時間基本上為1ms一下。
這張表大小在近800m,資料記錄在160萬行,建立好的索引之後,查詢時間下降到了230ms。
sql server 優化 彙總
原創連線 sql server查詢優化 sql server效能優化綜述 sql語句優化彙總 sql優化34條 sql語句優化彙總 sql server資料庫的整理優化的基本過程 一 sql server 資料庫的整理優化的基本過程 二 sql server優化 1 索引 2008 sql serv...
優化SQLServer索引
優化sqlserver索引的小技巧 sqlserver中有幾個可以讓你檢測 調整和優化sqlserver效能的工具。在本文中,我將說明如何用sqlserver的工具來優化資料庫索引的使用,本文還涉及到有關索引的一般性知識。關於索引的常識 影響到資料庫效能的最大因素就是索引。由於該問題的複雜性,我只可...
SQL Server效能優化
一 分析階段 一般來說,在系統分析階段往往有太多需要關注的地方,系統各種功能性 可用性 可靠性 安全性需求往往吸引了我們大部分的注意力,但是,我們必須注意,效能是很重要的非功能性需求,必須根據系統的特點確定其實時性需求 響應時間的需求 硬體的配置等。最好能有各種需求的量化的指標。另一方面,在分析階段...