我有一個表A
(3列)在生產大約1000萬條記錄。我想再向該表中添加一列,並且我想將默認值設置爲1.是否會影響生產數據庫性能如果添加具有默認值1或其他值的列。爲避免對數據庫造成任何性能影響,最佳方法是什麼?你的想法非常感謝!添加列的默認值
Q
添加列的默認值
4
A
回答
8
在Oracle 11g中,添加了具有默認值的新列的過程已經大大優化。如果新添加的列被指定爲NOT NULL
,那麼該列的默認值將保留在數據字典中,並且不再需要爲表中的所有記錄存儲列的默認值,因此不再需要用默認值更新每條記錄。這種優化大大減少了表格在操作過程中獨佔鎖定的時間。
alter table <tab_name> add(<col_name> <data_type> default <def_val> not null)
而且具有缺省值的列補充說,這樣就不會佔用空間,直到你故意開始更新該列或插入一條記錄與該列非缺省值。因此,添加具有默認值和not null
約束的新列的操作完成得非常快。
0
我認爲你創建一個表作爲備份表與此語法最好是:
create table BackUpTable as SELECT * FROM YourTable;
alter table BackUpTable add (newColumn number(5,0)default 1);
相關問題
- 1. 添加日期列的默認值
- 2. 添加默認值不爲空的列。
- 3. SQLite添加具有默認值的列
- 4. 添加具有默認值的列?
- 5. 添加默認值firebase
- 6. 添加默認值未知
- 7. 添加默認值DropDownList
- 8. 改變表添加列的默認值,並執行每行的默認值
- 9. 添加默認列結果
- 10. 添加GETDATE()默認值,同時添加一列
- 11. Laravel遷移:添加具有現有列的默認值的列
- 12. 添加輸入值和默認值
- 13. 默認列值
- 14. 默認列值
- 15. 在列後添加新列並定義默認值
- 16. 休眠。在創建列後添加默認列值
- 17. 查詢添加默認值,如果表中的列是空的
- 18. 要添加具有默認值的列的SQL - Access 2003
- 19. PostgreSQL的 - 布爾值列添加到表中設定的默認
- 20. InnoSetup - 將值添加到默認子項?
- 21. 添加時間默認值(7)字段
- 22. 如何將默認值添加到RadComboBox?
- 23. 將默認值添加到x軸
- 24. ReactJs選擇添加默認值
- 25. spring爲表單添加默認值:select
- 26. 添加默認值組合框
- 27. 添加新行datagridview使用默認值
- 28. 將默認值添加到settings.bundle項目?
- 29. 如何向EditText添加默認值:android
- 30. 添加默認值到文本框