程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sqlserver數據庫優化解析(圖文剖析),sqlserver數據庫

sqlserver數據庫優化解析(圖文剖析),sqlserver數據庫

編輯:更多數據庫知識

sqlserver數據庫優化解析(圖文剖析),sqlserver數據庫


下面通過圖文並茂的方式展示如下:

一、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數據庫全部內容,希望大家能夠喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved