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

    --查询语句 
    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 ; 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容