sqlserver資料庫最佳化解析(圖文剖析)_MsSql

來源:互聯網
上載者:User

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.