gpt4 book ai didi

SQL Server 单查询内存使用情况

转载 作者:行者123 更新时间:2023-12-04 13:07:38 27 4
gpt4 key购买 nike

我想找出或至少估计单个查询(特定查询)在执行时消耗了多少内存。在这里发布查询没有意义,因为我想对多个查询执行此操作,并查看不同数据库是否有更改。有没有办法获得这些信息?

使用 SQL Server 2008 R2

谢谢

吉拉德。

最佳答案

您可能想查看 DMV(动态管理 View ),特别是 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

在发出上述查询时,它将等到某个查询运行并收集内存数据。所以要使用它,只需运行上面的查询,然后运行你想要监控的查询。

关于SQL Server 单查询内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775384/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com