SQLServer性能优化工具
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer性能优化工具
数据和工作负荷示例
使用下例说明 SQL Server 性能工具的使用。首先创建下表。
create table testtable (nkey1 int identity, col2 char(300) default 'abc', ckey1 char(1))
接下来,在这个表中填充 10,000 行测试数据。可以为列 nkey1 中所填充的数据创建非聚集索引。可以为列 ckey1 中的数据创建聚集索引,col2 中的数据仅仅是填充内容,将每一行增加 300 字节。
declare @counter int
set @counter = 1
while (@counter <= 2000)
begin
insert testtable (ckey1) values ('a')
insert testtable (ckey1) values ('b')
insert testtable (ckey1) values ('c')
insert testtable (ckey1) values ('d')
insert testtable (ckey1) values ('e')
set @counter = @counter + 1
end
数据库服务器将进行下面的两个查询:
select ckey1,col2 from testtable where ckey1 = 'a'
select nkey1,col2 from testtable where nkey1 = 5000
Profiler
SQL Server Profiler 记录数据库服务器中所发生活动的详细信息。可以配置 Profiler 以便用大量的可配置性能信息监视并记录在 SQL Server 中执行查询的一个或多个用户。可在 Profiler 中记录的性能信息有:I/O 统计信息、CPU 统计信息、锁定请求、T-SQL 和 RPC 统计信息、索引和表扫描、警告和引发的错误、数据库对象的创建/除去、连接/断开、存储过程操作、游标操作等等。有关 SQL Profiler 可记录的全部信息,请在SQL Server Books Online 中搜索字符串“Profiler”。
将 Profiler 信息装载到 .trc 文件中以便用于 Index Tuning Wizard 中
Profiler 和 Index Tuning Wizard 是强大的工具组合,以帮助数
据库管理员在表中创建适当的索引。Profiler 将查询所消耗的资源记录在 .trc 文件中。.trc 文件可以由 Index Tuning Wizard 读取,Index Tuning Wizard 同时考虑 .trc 信息和数据库表,然后建议应创建什么样的索引。Index Tuning Wizard 可让管理员选择是自动创建数据库的适当索引,调度索引以便在以后自动创建还是产生一个可以在以后查看和执行的 T-SQL 脚本。
以下是分析查询负荷的步骤:
设置 Profiler
从SQL Server Enterprise Manager 菜单中选择Tools/SQL Server Profiler 启动 Profiler。
按 CTRL+N 组合键新建 Profiler 跟踪。
键入此跟踪的名称。
选择 Capture to File:复选框,然后选择要将 Profiler 信息输出到其中的 .trc 文件。
单击 OK。
运行工作负荷
启动 Query Analyzer(从 SQL Server Enterprise Manager 菜单中选择 Tools/SQL Server Query Analyzer 或者从开始菜单中选择开始\程序\Microsoft SQL Server 7.0\Query Analyzer)。
连接到 SQL Server 并设定将在其中创建表的当前数据库。
键入或复制以下查询并将它们粘贴到 Query Analyzer 的查询窗口:
select ckey1,col2 from testtable where ckey1 = 'a'
select nkey1,col2 from testtable where nkey1 = 5000
按 CTRL+E 执行这两个查询。
停止 Profiler
单击红色的正方形以停止 Profiler 跟踪。
将 .trc 装载到 Index Tuning Wizard
从 Profiler 菜单中选择 Tools\Index Tuning WizardsU 启动Index Tuning Wizard。单击 Next。
选择要分析的数据库。单击 Next。
保持 I have a saved workload file 选项按钮被选,然后单击Next。
选择 My workload file 选项按钮,找到用 Profiler 创建的 .trc 文件,然后单击 Next。
在 Select Tables to Tune 对话框中,选择需要进行分析的表,然后单击 Next。
Index Tuning Wizard 将在 Index Recommendations 对话框中指
出应创建的索引。单击 Next。
此向导可让您选择是立即创建索引,调度将在以后自动执行的索引创建任务还是创建带创建索引命令的 T-SQL 脚本。选择需要的选项,然后单击 Next。
单击 Finish。
Index Tuning Wizard 为示例数据库和工作负荷生成的 T-SQL。
/* Created by:Index Tuning Wizard */
/* Date: 9/7/98 */
/* Time:6:42:00 PM */
/* Server:HENRYLNT2 */
/* Database :test */
/* Workload file :E:\mssql7\Binn\profiler_load.sql */
USE [test]
BEGIN TRANSACTION
CREATE CLUSTERED INDEX [testtable2] ON [dbo].[testtable] ([ckey1])
if (@@error <> 0) rollback transaction
CREATE CLUSTERED INDEX [testtable2] ON [dbo].[testtable] ([ckey1])
if (@@error <> 0) rollback transaction
COMMIT TRANSACTION
Index Tuning Wizard 为示例表和数据所建议的索引就是我们预期