SQL Server 性能优化工具
时 间:2006-08-02 00:00:00
作 者:UMVsoft整理 ID:8 城市:上海 QQ:2851379730
摘 要:SQL Server 性能优化工具
正 文:
使用下例说明 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 为示例表和数据所建议的索引就是我们预期的索引。ckey1 只有 5 个唯一值,且每一个值都有 2,000 行。假定其中的一个示例查询 (select ckey1, col2 from testtable where ckey1 = 'a') 要求根据 ckey1 中的某个值对表进行检索,那么在 ckey1 列中创建聚集索引是有意义的。第二个查询 (select nkey1, col2 from testtable where nkey1 = 5000) 根据列 nkey1 的值提取一行。Nkey1 唯一,且有 10,000 行,因此在该列创建非聚集的索引是有意义的。
Profiler/Index Tuning Wizard 组合在涉及许多表和许多查询的实际数据库服务器环境中功能非常强大。当数据库正在进行典型查询时,请使用 Profiler 记录 .trc 文件。然后将 .trc 文件装载到 Index Tuning Wizard,以确定是否创建了正确的索引。根据 Index
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)