2017-06-23 86 views
1

如果我將數據導入到表中,並且我知道數據不會違反表完整性(即從備份表導入),那麼是否可以安全地禁用表上的觸發器導入更簡單?禁用觸發器從備份插入

+2

當然,如果你不需要觸發器執行的任何操作。如果沒有其他用戶同時插入數據,因爲禁用觸發器會影響所有會話。 – Gerfried

回答

0

很快:它取決於你的觸發器做什麼。

如果您的觸發器正在實施某種完整性檢查(或者它們正在執行一些只讀操作),那麼只要您的備份有效,禁用它們應該是安全的。它確實取決於這些完整性約束的定義。

如果你的觸發器正在執行一些寫操作,你應該問你自己是否安全讓觸發器啓用。有兩種情況:執行

  1. 的操作是冪等:它的確定既讓啓用觸發器和禁用它們。禁用它們會導致性能提高。

  2. 執行的操作是不冪:您必須禁用它們,否則它們會破壞完整性。