上下文:Web应用需要预先计算一些信息,以便响应更快,并给人一种“在线数据”的感觉。我们有一种机制,它说“那部分数据已经过时了,现在应该被检索/计算”。无论如何,有一些灵活性,稍微过时的数据是可以接受的。已经有一个工具来确定要计算或检索的内容。
**问题:**在Azure SQL中,是否有任何方法可以检测何时自动启动部分数据的计算,以便不会导致性能问题?比如说,是否有任何系统视图、存储过程等来获取一些性能计数器?
我知道“Query Performance Insight for Azure SQL Database”应用程序。但是,我需要一些可以从SQL查询中使用的东西。
我承认这个问题相当模糊。我必须以某种方式开始学习各种可能性。
更新:
我刚刚找到了https://learn.microsoft.com/en-us/azure/azure-sql/database/monitoring-with-dmvs?view=azuresql
无论如何,任何与您的经验有关的评论都是受欢迎的。
1条答案
按热度按时间hec6srdp1#
我的理解是在Azure SQL中,你可以使用动态管理视图来监视和收集与性能相关的信息。据我所知,sys.dm_exec_query_stats可能会有所帮助,我已经在我的终端尝试过,可以帮助您监视和收集与性能相关的信息。
例如,我创建了一个表。下面的schema
作为动态管理视图的一部分,我执行了sys.dm_exec_query_stats来监视和收集一些查询操作的性能相关信息。
转换
的结果
现在,使用sys.dm_exec_query_stats,我可以获取前10个最高的总工作时间,沿着它们的执行计数、SQL语句、总运行时间和创建时间。
下面是要在Azure SQL上执行的查询:
;
**sys.dm_exec_query_stats的结果:**x1c4d 1x