sql-server – 用于在sql server中查找数据库瓶颈的工具

前端之家收集整理的这篇文章主要介绍了sql-server – 用于在sql server中查找数据库瓶颈的工具前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要一个在测试我的应用程序时监视sql server的工具. applicatino当然会运行不同的查询.

从工具我想输出像:
– 此查询速度很慢,因为此字段缺少索引

而这种信息.

但我希望有一种方法来突出关键数据,例如可能有100个索引丢失,但其中99个会提高0.05%的性能,而其中一个会给查询带来6000%的好处.所以突出热点也很重要.

还需要商业产品(具有全部特征 – 没有限制 – 试用).

解决方法

你并不需要一个工具.我个人使用以下查询来向我展示sql Server认为它需要的索引,这显示sql Server查找索引的频率,估计的改进等…
SELECT user_seeks * avg_total_user_cost * (avg_user_impact * 0.01) AS index_advantage,migs.last_user_seek,mid.statement AS 'Database.Schema.Table',mid.equality_columns,mid.inequality_columns,mid.included_columns,migs.unique_compiles,migs.user_seeks,migs.avg_total_user_cost,migs.avg_user_impact
FROM sys.dm_db_missing_index_group_stats AS migs WITH (NOLOCK)
INNER JOIN sys.dm_db_missing_index_groups AS mig WITH (NOLOCK) 
    ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details AS mid WITH (NOLOCK) 
    ON mig.index_handle = mid.index_handle
ORDER BY index_advantage DESC;

如果你想识别慢速查询sql Profiler是你的朋友,只需设置一个持续时间的过滤器,你就可以了.然后通过数据库引擎优化顾问(两者都附带sql Server)运行此查询.

猜你在找的MsSQL相关文章