美文网首页
sqlserver 查看最近执行sql的sql语句

sqlserver 查看最近执行sql的sql语句

作者: 風過無痕_d1cc | 来源:发表于2018-07-12 11:56 被阅读0次
    --查询语句 
    SUBSTRING(ST.text,
    (QS.statement_start_offset / 2) + 1,
    ((CASE QS.statement_end_offset
    WHEN -1 THEN
    DATALENGTH(st.text)
    ELSE
    QS.statement_end_offset
    END - QS.statement_start_offset) / 2) + 1) AS statement_text,
    --执行文本 
    ST.text,
    --执行计划 
    QS.total_worker_time,
    QS.last_worker_time,
    QS.max_worker_time,
    QS.min_worker_time
    FROM sys.dm_exec_query_stats QS
    --关键字 
    CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST
    ORDER BY QS.creation_time DESC


    SELECT TOP 1000
    --创建时间 
    QS.creation_time,
    --查询语句 
    SUBSTRING(ST.text,
    (QS.statement_start_offset / 2) + 1,
    ((CASE QS.statement_end_offset
    WHEN -1 THEN
    DATALENGTH(st.text)
    ELSE
    QS.statement_end_offset
    END - QS.statement_start_offset) / 2) + 1) AS statement_text,
    --执行文本 
    --执行计划 
    QS.total_worker_time,
    QS.last_worker_time,
    QS.max_worker_time,
    QS.min_worker_time
    FROM sys.dm_exec_query_stats QS
    --关键字 
    CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) ST
    ORDER BY QS.creation_time DESC

mysql 根据id递归查询树下的所有节点
比如查询表ms_region的一个分支下的所有子节点(查询父节点同理),可以用以下存储过程:

DELIMITER // 
CREATE DEFINER=`root`@`%` FUNCTION `getMSRegionChildList`(rootId  VARCHAR(1000)) RETURNS TEXT CHARSET utf8
        DETERMINISTIC
    BEGIN
        DECLARE sTemp TEXT;
        DECLARE sTempChd TEXT;
        SET sTemp = '';
        SET sTempChd = rootId;
        WHILE sTempChd IS NOT NULL DO
                    SET sTemp = CONCAT(sTemp,',',sTempChd);
            SELECT GROUP_CONCAT(id) INTO sTempChd FROM  ms_region WHERE FIND_IN_SET(parent_id, sTempChd)>0;
        END WHILE;
        RETURN TRIM(LEADING ',' FROM sTemp);
    END
 //  
DELIMITER ; 

相关文章

网友评论

      本文标题:sqlserver 查看最近执行sql的sql语句

      本文链接:https://www.haomeiwen.com/subject/juwlpftx.html