簡體   English   中英

SQL Server中刪除查詢的性能降低

[英]Performance slow of Delete query in SQL Server

我有一個使用實體框架進行數據庫操作的應用程序。 在一個表中,執行刪除操作需要3分鍾以上。 但是其他類似的表並不需要很多時間。 我已經調試了代碼,發現代碼沒有問題,但是在sql服務器中執行查詢花費了很多時間。

任何疑難解答步驟/根本原因導致此問題嗎?

我的桌子如下

Id (PK,uniqueidentifier,not null)
FirstValue(real,not null)
SecondValue(real,not null)
ThirdValue(real,not null)
LastValue(int,not null)
Config_Id(FK,uniqueidentifier,not null)

查詢執行計划 在此處輸入圖片說明

這里沒有東西累加,我們沒有看到完整的圖片...

有很多事情可以(通常)減慢刪除速度:

  • 刪除很多記錄(我們知道這里不是這種情況)
  • 許多索引(我懷疑這里就是這種情況)
  • 死鎖和阻塞(這是開發數據庫還是生產數據庫?)
  • 觸發器
  • 級聯刪除
  • 交易日志需要增長
  • 許多外鍵需要檢查(我懷疑這可能也在發生)

您能給我們提供SSMS中“查看依賴項”功能的屏幕截圖嗎? 為此,請右鍵單擊對象資源管理器中的表,然后選擇“ View Dependencies

另外,您是否可以在master數據庫上打開查詢,運行以下查詢並發布結果:

SELECT name, value, value_in_use, minimum, maximum, [description], is_dynamic, is_advanced
FROM sys.configurations WITH (NOLOCK)
where name in (
    'backup compression default',
    'clr enabled',
    'cost threshold for parallelism',
    'lightweight pooling',
    'max degree of parallelism',
    'max server memory',
    'optimize for ad hoc workloads',
    'priority boost',
    'remote admin connections'
)
ORDER BY name OPTION (RECOMPILE);

SELECT DB_NAME([database_id]) AS [Database Name], 
       [file_id], [name], physical_name, [type_desc], state_desc,
       is_percent_growth, growth,
       CONVERT(bigint, growth/128.0) AS [Growth in MB], 
       CONVERT(bigint, size/128.0) AS [Total Size in MB]
FROM sys.master_files WITH (NOLOCK)
ORDER BY DB_NAME([database_id]), [file_id] OPTION (RECOMPILE);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM