星空网 > 软件开发 > 数据库

SQL Server 数据库优化剖析

一、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

    SQL Server 数据库优化剖析

  2、跟踪SQL执行错误

    SQL Server 数据库优化剖析

    SQL Server 数据库优化剖析

     3、调试中找到SQL

    以特殊字符作为筛选条件

    SQL Server 数据库优化剖析

   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、页 结构

   SQL Server 数据库优化剖析

  2 区结构

    SQL Server 数据库优化剖析

   3 文件存储

   SQL Server 数据库优化剖析

 4 、基表

  SQL Server 数据库优化剖析

5、堆表

  SQL Server 数据库优化剖析

7、聚集索引

 SQL Server 数据库优化剖析

8、 普通索引

  SQL Server 数据库优化剖析

三、索引优化

1、选择性高

  唯一性高的字段放最前面

2、覆盖索引

  Select、Where、Orderby字段都在索引中 或者 INCLUDE中 这样就会走到索引

3、控制索引数量,窄索引

  SQL Server 数据库优化剖析

此图索引作用不大

 

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

开启执行重点看下面几个地方

SQL Server 数据库优化剖析




原标题:SQL Server 数据库优化剖析

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流