SQL Server 数据库优化的解决办法

2022-11-12 09:41:11
内容摘要
这篇文章主要为大家详细介绍了SQL Server 数据库优化的简单示例,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 下面通过图文并茂的方式
文章正文

这篇文章主要为大家详细介绍了SQL Server 数据库优化的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

下面通过图文并茂的方式展示如下:

一、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数据库全部内容,希望大家能够喜欢。

注:关于SQL Server 数据库优化的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!