下面通過(guò)圖文并茂的方式展示如下:
一、SQL Profiler
事件類 Stored Procedures/RPC:Completed TSQL/SQL:BatchCompleted
事件關(guān)鍵字段 EventSequence、EventClass、SPID、DatabaseName、Error、StartTime、TextData、 HostName、ClientProcessID、ApplicationName、 CPU、Reads、Writes、Duration、RowCounts
1、跟蹤慢SQL
2、跟蹤SQL執(zhí)行錯(cuò)誤
3、調(diào)試中找到SQL 以特殊字符作為篩選條件
4、T-SQL查詢trace表
a、設(shè)置抓取的時(shí)候段
b、保持成文件 然后用下面語(yǔ)句查詢文件
復(fù)制代碼 代碼如下:
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)
二、表存儲(chǔ)結(jié)構(gòu)
1、頁(yè) 結(jié)構(gòu)
2 區(qū)結(jié)構(gòu)
3 文件存儲(chǔ)
4 、基表
5、堆表
6、聚集索引
7、 普通索引
三、索引優(yōu)化
1、選擇性高唯一性高的字段放最前面
2、覆蓋索引 Select、Where、Orderby字段都在索引中 或者 INCLUDE中 這樣就會(huì)走到索引
3、控制索引數(shù)量,窄索引
4、改善SQL語(yǔ)句
a、SQL盡量簡(jiǎn)單
b、參數(shù)化SARG的定義 列名 操作符 <常數(shù) 或 變量> and 價(jià)格>5000
c、非SRAG name like ‘%張' and 價(jià)格>5000 NOT、!=、<>、!<、!>、NOT EXISTS、NOT IN、NOT LIKE 四、執(zhí)行計(jì)劃
--顯示統(tǒng)計(jì)信息
復(fù)制代碼 代碼如下:
SET STATISTICS IO ON SET STATISTICS TIME ON SELECT * FROM dbo.FreezeUserMoney
開(kāi)啟執(zhí)行重點(diǎn)看下面幾個(gè)地方
以上是針對(duì)優(yōu)化sqlserver數(shù)據(jù)庫(kù)全部?jī)?nèi)容,希望大家能夠喜歡。
新聞熱點(diǎn)
疑難解答
圖片精選