如何控制实体框架中的参数嗅探和/或查询提示?

问题描述 投票:0回答:2

我遇到一个问题,我的实体框架 (EF) 查询之一在 Sql Server 中执行时间很长,尽管当我将生成的 TSQL 复制并粘贴到 Sql Server Management Studio (SSMS) 中时,它运行得非常快。经过一番调查后,我发现我遇到了参数嗅探问题,而“修复它的正确方法”是插入许多查询提示之一(OPTIMIZE FOR、RECOMPILE 等)。如何将这些提示插入到我的 EF 查询中?

sql-server entity-framework query-hints parameter-sniffing
2个回答
2
投票

CREATE PROCEDURE sp_test ( @param1 NVARCHAR(10), @param2 INT ) AS DECLARE @internalParam1 NVARCHAR(10) DECLARE @internalParam2 INT SET @internalParam1 = @param1 SET @internalParam2 = @param2 -- REST OF YOUR QUERY GO

这将停止 SQL Server 缓存传递给 SP 的任何参数。


1
投票
一对一联接在 SQL Server 中不够快

© www.soinside.com 2019 - 2024. All rights reserved.