第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么存儲過程在代碼中運行緩慢,而在 SSMS 中運行速度很快?

為什么存儲過程在代碼中運行緩慢,而在 SSMS 中運行速度很快?

C#
人到中年有點甜 2021-11-28 17:56:56
我正在使用 Dapper 從我的 Web 應(yīng)用程序運行存儲過程。我首先從 SSMS 運行相同的存儲過程,以確保一切正常。它從 SSMS 運行 1-5 秒。然后我將我的腳本復(fù)制/粘貼到我的應(yīng)用程序中以通過 Dapper 運行。當(dāng)我運行我的應(yīng)用程序并逐步調(diào)試我的代碼時,存儲過程運行了超過 2 分鐘并超時。這是完全相同的代碼。什么可能導(dǎo)致差異?這是我從 SSMS 運行的代碼:DECLARE @RC intDECLARE @ownerId varchar(50)DECLARE @type varchar(50)DECLARE @dateFrom datetimeDECLARE @dateTo datetimeDECLARE @offset intDECLARE @perPage intSET @ownerId = '990042064' SET @type = 'voice' SET @dateFrom = '2018-05-16 00:00:00.000'  --'YYYY-MM-DD hh:mm:ss[.nnn]' SET @dateTo = '2018-08-14 23:59:59.000'  --'YYYY-MM-DD hh:mm:ss[.nnn]' SET @offset = 0 SET @perPage = 50EXECUTE @RC = dbo.IndexSearch @ownerId                             ,@type                             ,@dateFrom                             ,@dateTo                             ,@offset                             ,@perPageGO這是從我的應(yīng)用程序運行的代碼:using (IDbConnection db = new SqlConnection(ConnectionStringHelper.ConnectionString)){    dbRecs = db.Query<IndexRec>(@"    DECLARE @RC int    DECLARE @ownerId varchar(50)    DECLARE @type varchar(50)    DECLARE @dateFrom datetime    DECLARE @dateTo datetime    DECLARE @offset int    DECLARE @perPage int    SET @ownerId = '990042064'    SET @type = 'voice'    SET @dateFrom = '2018-05-16 00:00:00.000'--'YYYY-MM-DD hh:mm:ss[.nnn]'    SET @dateTo = '2018-08-14 23:59:59.000'--'YYYY-MM-DD hh:mm:ss[.nnn]'    SET @offset = 0    SET @perPage = 50    EXECUTE @RC = dbo.IndexSearch @ownerId                                 , @type                                 , @dateFrom                                 , @dateTo                                 , @offset                                 , @perPage    ", commandTimeout: 120);}我什至嘗試在幾臺不同的機(jī)器上運行 SSMS,我總是在 1-5 秒內(nèi)搞定。我已經(jīng)多次從應(yīng)用程序運行相同的查詢,但它總是超時。腳本本身是否會導(dǎo)致執(zhí)行計劃不同?我也使用來自 SSMS 和我的應(yīng)用程序的相同登錄名。
查看完整描述

3 回答

?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗 獲得超4個贊

嘗試此頁面中的建議:我認(rèn)為參數(shù)嗅探可能是一個紅鯡魚,但 ARITHABORT 解決方案可能會奏效。無論如何,請嘗試 optiins(重新編譯)。


查看完整回答
反對 回復(fù) 2021-11-28
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗 獲得超2個贊

正如 Lukasz 所提到的,它可能是參數(shù)嗅探,也可能是其他東西。

已經(jīng)有很多問題博客可以理解為什么!

http://www.sommarskog.se/query-plan-mysteries.html

或者你可以試試https://stackoverflow.com/a/12483089/1481690

為您的 ASP.Net 應(yīng)用程序和您的 SSMS 會話查看 sys.dm_exec_sessions。我會猜測您的 SET 設(shè)置中至少有一個是不同的。這可能會導(dǎo)致不同的計劃(最終這歸因于參數(shù)嗅探)并且應(yīng)用程序端通常會變得更糟。


查看完整回答
反對 回復(fù) 2021-11-28
?
青春有我

TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊

解決方案應(yīng)該基于將存儲過程參數(shù)分配給局部變量(請查看參數(shù)嗅探)。下面我提供了一篇您可能會覺得有用的文章的鏈接:https : //www.tangrainc.com/blog/2007/08/parameter-sniffing/


查看完整回答
反對 回復(fù) 2021-11-28
  • 3 回答
  • 0 關(guān)注
  • 473 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號