下面通過圖文并茂的方式展示如下:
一、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í)行錯誤
3、調(diào)試中找到SQL 以特殊字符作為篩選條件
4、T-SQL查詢trace表
a、設(shè)置抓取的時候段
b、保持成文件 然后用下面語句查詢文件
復(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)
二、表存儲結(jié)構(gòu)
1、頁 結(jié)構(gòu)
2 區(qū)結(jié)構(gòu)
3 文件存儲
4 、基表
5、堆表
6、聚集索引
7、 普通索引
三、索引優(yōu)化
1、選擇性高唯一性高的字段放最前面
2、覆蓋索引 Select、Where、Orderby字段都在索引中 或者 INCLUDE中 這樣就會走到索引
3、控制索引數(shù)量,窄索引 此圖索引作用不大
4、改善SQL語句
a、SQL盡量簡單
b、參數(shù)化SARG的定義 列名 操作符 常數(shù) 或 變量> Name='張三' and 價格>5000
c、非SRAG name like ‘%張' Name='張三' and 價格>5000 NOT、!=、>、!、!>、NOT EXISTS、NOT IN、NOT LIKE 四、執(zhí)行計劃
--顯示統(tǒng)計信息
復(fù)制代碼 代碼如下:
SET STATISTICS IO ON SET STATISTICS TIME ON SELECT * FROM dbo.FreezeUserMoney
開啟執(zhí)行重點看下面幾個地方
以上是針對優(yōu)化sqlserver數(shù)據(jù)庫全部內(nèi)容,希望大家能夠喜歡。
您可能感興趣的文章:- 開啟SQLSERVER數(shù)據(jù)庫緩存依賴優(yōu)化網(wǎng)站性能
- SQLServer 優(yōu)化SQL語句 in 和not in的替代方案
- SqlServer 執(zhí)行計劃及Sql查詢優(yōu)化初探
- sqlserver關(guān)于分頁存儲過程的優(yōu)化【讓數(shù)據(jù)庫按我們的意思執(zhí)行查詢計劃】
- SqlServer 索引自動優(yōu)化工具
- SQLSERVER SQL性能優(yōu)化技巧
- 日常收集整理SqlServer數(shù)據(jù)庫優(yōu)化經(jīng)驗和注意事項
- 深入學(xué)習(xí)SQL Server聚合函數(shù)算法優(yōu)化技巧