涨薪技术|0到1学会性能测试第70课-调校索引&索引维护

前面的推文我们掌握了SQL数据库监控与调优技术。今天给大家分享索引调优技术。后续文章都会系统分享干货,带大家从0到1学会性能测试。

图片

01用DTA调校索引

Database Engine Tuning Advisor是一个物理数据库设计工具,它是建立在SQL Server 2000的Index Tuning Wizard的技术上,并取而代之,它接收形式为包含一组Select、delete、update语句的T-SQL脚本的工作负荷或SQL Profiler跟踪作为输入,而且会输出一个由对索引、索引的视图和统计进行创建、删除和划分的建议组成的T-SQL脚本,它还会给出性能改进的估计,DTA的结构图如图11-42所示

图片

DTA可以对单个查询进行分析也可以对SQL Server Profiler Trace文件进行分析,分析后DTA会显示优化查询性能的建议,根据DTA提供的优化建议可以对查询语句进行优化,优化后再次对查询进行度量,直到达到性能要求为止。

对单个查询进行调校,包含两个步骤:

一是:统计查询执行期间的等待时间;

二是:使用DTA进行调校;

在开始调校之前,需要捕获开始度量,为了得到一致的结果,需要捕获一个冷时间和多个热时间并对这些热时间求平均值。冷时间是指SQL Server第一次运行一个查询所需要的时间,执行计划和数据不在缓存中,因此所有的工作必须从零开始,查询后续运行将会由于缓存的缘故快很多(已热身),这样更能够代表一个活动的系统,评估相对于平均热时间的性能收益将会提供一个繁忙系统上对性能收益的期望。

实例:在数据库people中创建people和boysnames两张表,代码如下:

CREATE DATABASE [people] ON  PRIMARY ( NAME = N'people',   FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\people.mdf' ,   SIZE = 409600KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ) LOG ON ( NAME = N'people_log',   FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\people_log.ldf' ,   SIZE = 10240KB , MAXSIZE = 102400KB , FILEGROWTH = 10240KB )GOCREATE TABLE people (  personId UNIQUEIDENTIFIER DEFAULT newsequentialid(),  firstname VARCHAR(80) not null,  lastname VARCHAR(80) not null,  dob DATETIME not null,  dod DATETIME null,  sex CHAR(1) not null)goCREATE TABLE boysnames   (   ID INT IDENTITY(0,1) not null,   [name] VARCHAR(80) not null  )Go

分别为这两张表插入10000条记录,代码如下:

declare @i intset @i=1while @i <10000begininsert into people values(@i,'abc','123','1')set @i=@i+1enddeclare @i intset @i=1while @i <10000begininsert into boy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

川石课堂软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值