2015-07-10 71 views
0

我在C#窗體中做業務應用程序。 每天約有10000條數據錄入。提高業務應用程序的性能

當前實現AFTER觸發器:

1. Filter relevant data from the base table and insert to the secondary table 
2. Send email to users when there is an insert/delete/update to the secondary table. 
3. exec stored procedure when there is an insert/delete/update to the secondary table. 

的問題之一,有時有死鎖時在SSRS

顯示報告

點擊一個部署 目前的實現是手動安裝。沒有在線更新 應該使用文件共享,以便部署它可以檢查更新

任何能不能指點我應該使用觸發器業務應用

+1

這應該不是這樣的問題,如果您在用戶處理數據時經常調用大量數據,則可以在ssrs報告中使用「with(no lock)」語句 – Schuere

回答

0

1)我贊成使用觸發器來實現業務邏輯的我不是。因爲在觸發器中維護BL很困難。

2.)如果您正在更新批量記錄,我已經看到觸發器不會觸發每條記錄。

3.)要解決性能問題,您可以打開SQL事件探查器以獲取跟蹤文件。在該跟蹤文件中,您可以分析死鎖的位置。

4.)網上有現成的DMV查詢可用於獲取頂級緩慢查詢列表。 b。)未使用的索引(您可以刪除這些索引)c。)錯過的索引(您可以添加新的索引)d。)需要添加/刪除列的索引等等。

4.)您可以對報告查詢應用nolock查詢提示以獲得性能。 5)如果一切都很好,那麼你應該看看RDL。渲染有時也會消耗大量時間,具體取決於rdl中使用的函數。