SELECT TOP 1000
ST.text AS '执行的SQL语句',
QS.execution_count AS '执行次数',
QS.total_elapsed_time AS '耗时',
QS.total_logical_reads AS '逻辑读取次数',
QS.total_logical_writes AS '逻辑写入次数',
QS.total_physical_reads AS '物理读取次数',
QS.creation_time AS '执行时间' ,
QS.*
FROM sys.dm_exec_query_stats QS
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
WHERE QS.creation_time BETWEEN '2021-09-16 20:48:00' AND '2021-09-16 20:49:00'
ORDER BY QS.creation_time desc;
先在业务系统里执行一个查询,比如随便查找一笔订单,记住这个操作的时间,然后在数据库中执行上面的sql,修改creation_time即可,将时间区间改成查找订单的大概时间(控制在一分钟内最好)。此时业务系统的页面表所对应的物理表的sql语句会展示在上述sql结果的第一个字段,我们可以从这个字段中的所有sql中分析系统前端用到了哪些物理表
本文介绍了如何通过SQL语句来追踪和分析业务系统中执行的查询,特别是关注在特定时间范围内高频、高耗时的操作。通过对查询次数、耗时、逻辑读取和写入等指标的监控,可以洞察系统前端对物理表的使用情况,从而进行性能优化。
808

被折叠的 条评论
为什么被折叠?



