暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在SQL Server中禁用批处理模式

原创 皮纳尔·戴夫 2019-11-26
1945

如何在SQL Server中禁用批处理模式?

为什么要禁用SQL Server中的批处理模式,而这确实是一个了不起的功能,它将帮助我们提高性能,但是,就像所有事情一样,硬币的另一面也是如此。下面将讲述如何为单个查询禁用批处理模式。

image.png

当系统中存在数百个查询,这些查询在行存储的批处理模式下得到了极大的改进。但是,有两个特定的查询性能下降。此时要执行的是强制查询不使用批处理模式。

这是一种可以禁用查询以使用批处理模式的方法。我们将在此处使用相同的设置。

-- Select Table with disable batch mode hint
SELECT ProductID, SUM(UnitPrice) SumUnitPrice, AVG(UnitPrice) AvgUnitPrice,
SUM(OrderQty) SumOrderQty, AVG(OrderQty) AvgOrderQty
FROM [dbo].[MySalesOrderDetail]
GROUP BY ProductID
ORDER BY ProductID
OPTION(USE HINT('DISALLOW_BATCH_MODE'))
GO

如果运行上面的查询时没有SQL Server 2019兼容级别的提示,则会注意到它将使用批处理模式提高查询性能。但是,如果使用提示DISALLOW_BATCH_MODE运行该命令,则它的运行方式与早期兼容级别中的运行方式相同,并且还会禁用批处理模式。

来源:如何在SQL Server中禁用批处理模式

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论