相关疑难解决方法(0)

将标量函数转换为用于并行执行的 TVF 函数 - 仍在串行模式下运行

我的一个查询在发布后以串行执行模式运行,我注意到在从应用程序生成的 LINQ to SQL 查询中引用的视图中使用了两个新函数。所以我将这些 SCALAR 函数转换为 TVF 函数,但查询仍然以串行模式运行。

早些时候我在其他一些查询中做了 Scalar 到 TVF 的转换,它解决了强制串行执行的问题。

这是标量函数:

CREATE FUNCTION [dbo].[FindEventReviewDueDate]
(
       @EventNumber VARCHAR(20),
       @EventID VARCHAR(25),
          @EventIDDate BIT
)

RETURNS DateTime
AS
BEGIN

DECLARE @CurrentEventStatus VARCHAR(20)
DECLARE @EventDateTime DateTime
DECLARE @ReviewDueDate DateTime


SELECT @CurrentEventStatus = (SELECT cis.EventStatus
                                 FROM CurrentEventStatus cis 
                                 INNER JOIN Event1 r WITH (NOLOCK) ON (cis.Event1Id = r.Id)
                                 WHERE (r.EventNumber = @EventNumber) AND r.EventID = @EventID)

SELECT @EventDateTime = (SELECT EventDateTime FROM Event1 r 
                          WHERE (r.EventNumber = @EventNumber) AND r.EventID = …
Run Code Online (Sandbox Code Playgroud)

performance sql-server parallelism functions query-performance performance-tuning

10
推荐指数
3
解决办法
574
查看次数

SQL Server 2017:批处理模式自适应联接如何工作?

批处理模式自适应联接是2017 年查询处理器中一系列功能的一部分,其中包括:

那么自适应连接是如何工作的呢?

sql-server sql-server-2017 adaptive-joins

5
推荐指数
1
解决办法
1311
查看次数

SQL Server 2017:批处理模式内存授予反馈如何工作?

批处理模式内存授予反馈是2017 查询处理器中一系列功能的一部分,其中包括:

那么批处理模式内存授予反馈是如何工作的呢?

sql-server sql-server-2017 memory-grant-feedback

3
推荐指数
1
解决办法
763
查看次数