我想要一个在测试应用程序时监视sql server的工具。 applicatino当然会运行不同的查询。
从工具中我希望输出如下: - 此查询速度很慢,因为此字段缺少索引
和这种信息。
但我希望有一种方法可以突出显示关键数据,例如可能缺少100个索引,但其中99个会提高0.05%的性能,而其中一个会带来6000%的好处。查询。所以突出热点也很重要。
还需要商业产品(具有完整功能 - 无限制 - 试用)。
答案 0 :(得分:11)
您并不需要一个工具。我个人使用以下查询来向我展示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)运行此查询。
答案 1 :(得分:2)
答案 2 :(得分:0)
看看SQL Copilot。有一个免费版本,完整版本便宜(约50美元)
请注意,虽然我使用它并发现它有用以提出一些问题并且作为学习工具,我仍然在寻找其他工具。
对于这个棘手的主题(un)来说,有很多东西需要学习。