加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:49:43 所属栏目:MsSql教程 来源:网络整理
导读:我想要一个在测试我的应用程序时监视sql server的工具. applicatino当然会运行不同的查询. 从工具我想输出像: – 此查询速度很慢,因为此字段缺少索引 而这种信息. 但我希望有一种方法来突出关键数据,例如可能有100个索引丢失,但其中99个会提高0.05%的性能,
我想要一个在测试我的应用程序时监视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)运行此查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读