SQL Server 数据库优化剖析
2024-10-11 05:48:30
一、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.trace
FROM ::fn_trace_gettable('C:\trace\DB50 20150623.trc', default)
二、表存储结构
1、页 结构
2 区结构
3 文件存储
4 、基表
5、堆表
7、聚集索引
8、 普通索引
三、索引优化
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
开启执行重点看下面几个地方
最新文章
- centos系统下安装使用composer教程
- NET基础课--Linq第一讲
- 性能测试工具:AB
- AppBoxFuture(六): 前端组件化开发
- post请求中body数据类型
- idea激活方式
- Linux中对逻辑卷的建立
- this指向问题 --无return
- 谈谈 JavaScript 的正则表达式
- PAT A1124 Raffle for Weibo Followers (20 分)——数学题
- 原生js实现图片轮播效果
- ClassOne__HomeWork
- 学习笔记23—window10 64位 python2.7 安装liblinear
- VBA 上传数据与查找数据 while循环 和 for循环
- Java正则应用
- 树莓派进阶之路 (008) - 树莓派安装ftp服务器(转)
- 【机器学习算法】cascade classifier级联分类器
- 学习笔记之YAML
- WPF 扩大,回弹效果
- C++分布式实时应用框架——系统管理模块