我刚进入一家新公司,我的任务是优化数据库性能。一种可能的(也是建议的)方法是使用多台服务器而不是一台。由于有许多可能的方法来做到这一点,我需要首先分析数据库。有没有工具可以让我测量每个表执行了多少次插入/更新和删除?
发布于 2011-10-11 23:11:33
我同意Surfer513的观点,即机管局将比疾控中心好得多。添加CDC相当复杂,会给系统增加负载。(有关统计数据,请参阅我的文章here。)
我建议首先设置一个SQL Server Trace,看看哪些命令是长时间运行的。
如果您的系统大量使用存储过程(希望如此),也可以查看sys.dm_exec_procedure_stats。这将帮助您专注于最常用的过程/表/视图。看看execution_count和total_worker_time。
关键是,您希望确定系统的哪些部分速度较慢(使用Trace),以便知道将时间花在哪里。
发布于 2011-10-11 22:19:10
一种方法是利用Change Data Capture (CDC) or Change Tracking。不知道你想要的深度有多深,但还有其他更简单的方法来获得一个粗略的估计(看起来你不想要精确的数字,只是大概的数字…?)。
假设您的表上有索引,您可以查询sys.dm_db_index_operational_stats以获得有关影响索引的插入/更新/删除的数据。再说一次,这是一个粗略的估计,但它会给你一个像样的想法。
https://stackoverflow.com/questions/7722704
复制相似问题