WEB开发网
开发学院数据库MSSQL Server SQL Server 2005性能排错(5) 阅读

SQL Server 2005性能排错(5)

 2007-05-15 09:28:24 来源:WEB开发网   
核心提示: ◆Track_waitstats.收集数据渴望的采样数量和采样的时间间隔,这里有一个调用的示例exec dbo.track_waitstats @num_samples=6,@delay_interval=30,@delay_type='s',@truncate_histo

◆Track_waitstats.收集数据渴望的采样数量和采样的时间间隔。这里有一个调用的示例

exec dbo.track_waitstats @num_samples=6
,@delay_interval=30
,@delay_type='s'
,@truncate_history='y'
,@clear_waitstats='y'

◆Get_waitstats.分析前面步骤收集到的数据。这有一个调用的示例。

exec [dbo].[get_waitstats_2005]

◆Spid运行,需要当前不可用的资源。因为资源不可用,在T0时,它移动到资源等待列表。

◆信号指出资源是可用的,所以spid在T1时间移动到可运行队列。

◆Spid等候运行状态直到T2,同样的CPU通过可运行队列处理按顺序到达等待。

你可以使用这些存储过程分析资源等待和信号等待,使用这些信息隔离资源争用。

图5 显示了示例的报告。

图5:等待统计分析报告

图5中现实的等待状态分析报告预示了由于阻塞(LCK_M_S)和内存分配(RESOURCE_SEMAPHORE)的性能问题。特定的55%的所有等待是等待共享锁,而43%是由于内存请求。阻塞每个对象的分析将是识别主要的争用点。

监视索引的使用

其他方面的查询性能与DML查询,查询删除,插入和修改数据相关。在指定表上定义更多索引,在需要数据修改时就需要更多的资源。由于锁结合持续事务,时间长的修改操作可以损害并发性。因此在应用程序中使用那个索引就变得非常重要。你能计算出是否在数据库架构上有大量从未使用过的索引存在。

SQL Server 2005提供了新的sys.dm_db_index_usage_stats动态管理视图显示哪些索引是使用的,和是否他们被用于用户查询或仅用于系统操作。每次执行查询,在这个视图中的列将根据用于执行查询的查询计划将会增加。当SQL Server启动并运行,数据就被收集了。这个DMV中的数据只是保存在内存中的,没有持久化。所以当SQL Server实例关闭,数据将会丢失。你可以周期性的获取这个表,并将数据保存用于以后分析。

上一页  1 2 3 4 5 6 7  下一页

Tags:SQL Server 性能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接