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

2018-07-12  本文已影响0人  風過無痕_d1cc
    --查询语句 
    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 ; 
上一篇 下一篇

猜你喜欢

热点阅读