分析数据库表和用法

时间:2011-10-11 07:30:46

标签: sql-server-2008-r2

我刚进入一家新公司,我的任务是优化数据库性能。一种可能的(和建议的)方式是使用多个服务器而不是一个。由于有很多可能的方法,我需要先分析数据库。是否有一个工具可以衡量每个表执行多少次插入/更新和删除?

2 个答案:

答案 0 :(得分:1)

我同意Surfer513的说法,DMV将比CDC好得多。添加CDC相当复杂,会给系统增加负载。 (有关统计数据,请参阅我的文章here。)

我建议首先设置一个SQL Server Trace以查看哪些命令长时间运行。

如果您的系统大量使用存储过程(希望这样做),请查看sys.dm_exec_procedure_stats。这将有助于您专注于最常使用的过程/表/视图。查看execution_count和total_worker_time。

重点是你要确定系统的哪些部分很慢(使用Trace),以便你知道在哪里花时间。

答案 1 :(得分:0)

一种方法是利用Change Data Capture (CDC) or Change Tracking。不确定你有多深入寻找这个,但还有其他更简单的方法可以得到一个粗略的估计(看起来你不想要精确,只是球场数据......?)。

假设表上有索引,您可以查询sys.dm_db_index_operational_stats以获取影响索引的插入/更新/删除数据。再次,这是一个粗略的估计,但它会给你一个体面的想法。