sqlserver数据库优化解析(图文剖析)
发布时间:2020-12-12 09:20:05 所属栏目:MsSql教程 来源:网络整理
导读:p style="text-align: left"下面通过图文并茂的方式展示如下: p style="text-align: left" 一、SQL Profiler p style="text-align: left"事件类 Stored ProceduresRPC:Completed TSQLSQL:BatchCompleted p style="text-align: left"事件关键字段 EventSeq
<p style="text-align: left">下面通过图文并茂的方式展示如下: <p style="text-align: left"> 一、SQL Profiler<p style="text-align: left">事件类 Stored ProceduresRPC:Completed TSQLSQL:BatchCompleted <p style="text-align: left">事件关键字段 EventSequence、EventClass、SPID、DatabaseName、Error、StartTime、TextData、 HostName、ClientProcessID、ApplicationName、 CPU、Reads、Writes、Duration、RowCounts <p style="text-align: left"> 1、跟踪慢SQL![]() <p style="text-align: left"> 2、跟踪SQL执行错误![]() ![]() <p style="text-align: left"> 3、调试中找到SQL 以特殊字符作为筛选条件![]() <p style="text-align: left"> 4、T-SQL查询trace表<p style="text-align: left"> a、设置抓取的时候段<p style="text-align: left"> b、保持成文件 然后用下面语句查询文件<p style="text-align: left"><div class="codetitle"><a style="CURSOR: pointer" data="78341" class="copybut" id="copybut78341" onclick="doCopy('code78341')"> 代码如下:<div class="codebody" id="code78341"> 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:traceDB50 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数据库全部内容,希望大家能够喜欢。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |