2013-03-29 53 views
2

在TSQL中是否有與ASP.NET Response.Clear()等價的東西?Response.Clear()等價於TSQL

在某些情況下,我需要從先前選擇的緩衝區中刪除結果集。

編輯:

update [ViewCounts] set [SiteViews] += 1 OUTPUT INSERTED.SiteViews 
where [PageID] = @PageID AND [LastIP] <> @IP 


    IF @@ROWCOUNT = 0 
    BEGIN 

    --- Need to clear the the empty (OUTPUT INSERTED.SiteViews) buffer here, as it crashes the Entity Framework 

    select [SiteViews] from [ViewCounts] where [PageID] = @PageID 

    END 
+1

您是否考慮過在表變量或臨時表中累計(預期)結果?經過適當的分析後,您可以根據需要返回或刪除它們。 – HABO

+0

你的問題其實並不安靜。 –

+0

@HABO這就是我現在所做的,這是一個尷尬的做法。 – user1615362

回答

0

您可以使用DBCC DROPCLEANBUFFERS去除緩衝池中的所有乾淨緩衝區

+0

請注意:不要嘗試在實時SQL Server實例上執行DBCC DROPCLEANBUFFERS 雖然DBCC DROPCLEANBUFFERS是查詢性能調優中必需的[第一個]步驟,但它不應該在實時SQL Server實例上運行這會導致從緩存刷新索引和數據頁面,從而使下一輪DML語句運行速度變慢。 – user1615362