最近执行较慢的SQL
程序员文章站
2022-06-24 20:48:14
最近执行较慢的SQL
SELECT OBJECT_NAME(qt.objectid, qt.dbId) AS procName,
DB_NAME(qt.db...
最近执行较慢的SQL
SELECT OBJECT_NAME(qt.objectid, qt.dbId) AS procName, DB_NAME(qt.dbId) AS [db_name], qt.text AS SQL_Full, SUBSTRING( qt.text, (qs.statement_start_offset / 2) + 1, ( ( CASE statement_end_offset WHEN -1 THEN DATALENGTH(qt.text) ELSE qs.statement_end_offset END - qs.statement_start_offset ) / 2 ) + 1 ) AS SQL_Part --统计对应的部分语句 , qs.creation_time, qs.last_execution_time, qs.execution_count, qs.last_elapsed_time / 1000000 AS lastElapsedSeconds, qs.last_worker_time / 1000000 AS lastCpuSeconds, CAST( qs.total_elapsed_time / 1000000.0 / ( CASE WHEN qs.execution_count = 0 THEN -1 ELSE qs.execution_count END ) AS DECIMAL(28, 2) ) AS avgDurationSeconds, CAST(qs.last_logical_reads AS BIGINT) * 1.0 / (1024 * 1024) * 8060 AS lastLogicReadsMB, qs.last_logical_reads, qs.plan_handle FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) AS p WHERE qs.last_execution_time >= CONVERT(CHAR(10),GETDATE(),120)+' 08:00' --今天8点之后的慢SQL AND qs.last_elapsed_time >= 3 * 1000 * 1000 --只取执行时间大于 3 秒的记录 AND qt.[text] NOT LIKE '%Proc_DBA%' ORDER BY qs.last_worker_time DESC
下一篇: JS实现遍历不规则多维数组的方法
推荐阅读
-
Laravel框架执行原生SQL语句及使用paginate分页的方法
-
php与mysql建立连接并执行SQL语句的代码
-
Mybaits 源码解析 (六)----- 全网最详细:Select 语句的执行过程分析(上篇)(Mapper方法是如何调用到XML中的SQL的?)
-
Yii框架在页面输出执行sql语句以方便调试的实现方法
-
有关mysql中sql的执行顺序的小问题
-
一段脚本实现自动备份并保存最近几天的SQL数据库
-
sql 2000 无法执行查询,因为一些文件缺少或未注册"的解决方法
-
MySQL中通过EXPLAIN如何分析SQL的执行计划详解
-
MySQL创建用户与授权方法、MySQL查看版本号、MySQL执行SQL脚本的方法
-
神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(二)