禁用與丟棄約束
回答
如果您正在執行數據加載或其他維護,則禁用而不是刪除約束是有意義的。
這個想法是,如果你知道當你完成數據加載或維護,然後禁用它,你將想要得到這個約束。完成後,您可以簡單地啓用它。
你不應該掉線,除非你確信你將來不需要這個限制。丟棄而不是禁用的危險是,當您重新創建約束時,您可能會稍微(或完全)錯誤。如果您只是禁用,那麼就沒有失去約束定義的危險,因爲約束定義仍保留在數據字典中。
好吧。但它在創造/啓用時間方面有什麼不同?只是從嘗試我會說啓用可以更快,這是正確的?還是它沒有區別? – user2428207
好吧,如果你只是啓用,那麼數據字典更新將比創建時少。但是,我想大多數時候,無論您是啓用現有約束還是創建新約束,都將用於驗證。所以,我想我的答案是,它可能(可能?)創建一個新約束而不是啓用現有約束的成本稍高一些,但差異可能不足以影響很大。我不會爲此擔心。 –
請注意,您可能不想「簡單地啓用它」。例如,如果您重新啓用並行索引的約束,該索引不會並行重建,最終度數將被設置回1.如果我沒有記錯,其他索引屬性可能會丟失,可能是壓縮?無論使用哪種方法,都要確保使用DBMS_METADATA.GET_DDL進行測試,以確保索引在前後完全一致。 –
- 1. 丟棄所有的約束
- 2. FireBird添加丟棄約束
- 3. 丟棄約束拋出錯誤
- 4. 約束名稱未知時的丟棄檢查約束
- 5. 如果圖像已被丟棄,禁用圖像丟棄?
- 6. 具有未知名稱的PostgreSQL丟棄約束
- 7. Neo4j丟棄約束條件(如果存在的話)
- 8. 動態選定表上的T-SQL丟棄約束
- 9. 禁用約束故事板
- 10. 如何禁用約束?
- 11. 臨時禁用約束
- 12. 如何禁用iOS約束?
- 13. 的PostgreSQL - 禁用約束
- 14. 由jdbc禁用postgresql約束
- 15. 如何使用約束以外的動詞進行MVC丟棄請求?
- 16. 如何在不移除約束的情況下「禁用」約束?
- 17. 與約束
- 18. MBProgressHud與約束
- 19. 與約束
- 20. 與約束
- 21. System.Enum與約束
- 22. Drop表是否也會放棄約束?
- 23. 問題與丟棄外鍵
- 24. UIScrollView與IUViewController丟棄對象
- 25. 在Xcode Storyboard中禁用約束條件
- 26. 以Orbeon形式禁用約束驗證
- 27. 什麼可以禁用外鍵約束?
- 28. 創建唯一約束最初禁用
- 29. 在編輯器中禁用約束 - >
- 30. Xcode 7:對子視圖禁用約束
禁用和啓用現有的約束比刪除和創建要簡單得多。 –