下面通過圖文並茂的方式展示如下:
一、SQL Profiler
事件類 Stored Procedures\RPC:Completed TSQL\SQL:BatchCompleted
事件關鍵字段 EventSequence、EventClass、SPID、DatabaseName、Error、StartTime、TextData、 HostName、ClientProcessID、ApplicationName、 CPU、Reads、Writes、Duration、RowCounts
1、跟蹤慢SQL
2、跟蹤SQL執行錯誤
3、調試中找到SQL 以特殊字符作為篩選條件
4、T-SQL查詢trace表
a、設置抓取的時候段
b、保持成文件 然後用下面語句查詢文件
復制代碼 代碼如下:
SELECT EventSequence,SPID,RequestID,DatabaseId,DatabaseName ,LoginName,StartTime,EndTime, TextData,Error ,Duration/1000 AS Duration,Reads,CPU,Writes,RowCounts ,HostName,ClientProcessID,ApplicationName INTO bak.dbo.traceFROM ::fn_trace_gettable('C:\trace\DB50 20150623.trc', default)
二、表存儲結構
1、頁 結構
2 區結構
3 文件存儲
4 、基表
5、堆表
6、聚集索引
7、 普通索引
三、索引優化
1、選擇性高唯一性高的字段放最前面
2、覆蓋索引 Select、Where、Orderby字段都在索引中 或者 INCLUDE中 這樣就會走到索引
3、控制索引數量,窄索引 此圖索引作用不大
4、改善SQL語句
a、SQL盡量簡單
b、參數化SARG的定義 列名 操作符 <常數 或 變量> Name='張三' and 價格>5000
c、非SRAG name like ‘%張' Name='張三' and 價格>5000 NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE 四、執行計劃
--顯示統計信息
復制代碼 代碼如下:
SET STATISTICS IO ON SET STATISTICS TIME ON SELECT * FROM dbo.FreezeUserMoney
開啟執行重點看下面幾個地方
以上是針對優化sqlserver數據庫全部內容,希望大家能夠喜歡。