2013-09-26 107 views
2

我在C#中有一個程序。我對C#代碼沒有任何疑問,但有些事情讓我困擾。我在系統中的一些大型交易中使用了觸發器。在交易中使用觸發器是非常明智的還是很好的做法?我一直在研究,發現我應該只在審計線索中使用觸發器。但是在使用觸發器時我沒有問題。我在問這個問題,因爲我真的想知道你的意見,以便將來如果不是明智的,那麼我可以避免在交易中使用觸發器。我是否正確使用觸發器?

+1

WEL的問題

4-注塑l,向我們展示觸發器的功能以及其他相關表格等等。什麼是「大」交易?請閱讀本文 - http://stackoverflow.com/questions/how-to-ask,和http://sscce.org/ – OldProgrammer

+1

首先,SO不是意見的地方。它是一個技術事實的地方。因此,由於政策,您的問題無法在這裏得到解答。 *但是,即使可以,你也沒有提供關於你的應用程序,你的數據庫和觸發器本身的信息。 – Dariusz

+0

在SQL中,觸發器依賴於更新,刪除或插入來觸發,所有這些操作都使用事務,儘管它可能只是一個隱含的事務。 – DrCopyPaste

回答

6

使用觸發器的主要缺點是:

1-使得整個過程在大量的交易控制的

2-缺乏/困難的慢尤其用於檢查動作的由觸發

完成的結果

3-讓您的系統更加難以維持關於併發

+2

5 - 破壞BulkInserts之類的東西,因爲大量的人不知道如何正確地使用觸發器 –

+0

我很抱歉在SO中提出這個問題,但我想聽聽像我這樣的其他程序員的意見,系統我無法詳細解釋它,但現在我得到的缺點也許我會改變我的方法,並避免使用觸發器。 – CMinor