SQL Server单查询内存使用情况
发布时间:2020-12-12 07:01:26 所属栏目:MsSql教程 来源:网络整理
导读:我想找出或至少估计单个查询(特定查询)在执行时会占用多少内存.在这里发布查询没有意义,因为我想在多个查询上执行此操作,并查看是否对不同的数据库进行了更改.有什么方法可以获得这些信息吗? 使用SQL Server 2008 R2 谢谢 吉拉德. 解决方法 您可能需要查看DM
我想找出或至少估计单个查询(特定查询)在执行时会占用多少内存.在这里发布查询没有意义,因为我想在多个查询上执行此操作,并查看是否对不同的数据库进行了更改.有什么方法可以获得这些信息吗?
使用SQL Server 2008 R2 谢谢 吉拉德. 解决方法您可能需要查看DMV(动态管理视图),特别是 sys.dm_exec_query_memory_grants.请参阅此查询(取自 here):DECLARE @mgcounter INT SET @mgcounter = 1 WHILE @mgcounter <= 5 -- return data from dmv 5 times when there is data BEGIN IF (SELECT COUNT(*) FROM sys.dm_exec_query_memory_grants) > 0 BEGIN SELECT * FROM sys.dm_exec_query_memory_grants mg CROSS APPLY sys.dm_exec_sql_text(mg.sql_handle) -- shows query text -- WAITFOR DELAY '00:00:01' -- add a delay if you see the exact same query in results SET @mgcounter = @mgcounter + 1 END END 在发出上述查询时,它将等待一些查询运行并将收集内存数据.因此,要使用它,只需运行上面的查询,然后运行您要监视的查询. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |