国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

刪除一個擁有大量資料的欄位

2024-07-21 02:33:20
字體:
供稿:網(wǎng)友
        假如你有這個需求,要刪除某一個表格上的某些欄位,但是由於這個表格擁有非常大量的資料,假如你在尖峰時間直接執(zhí)行 ALTER TABLE ABC DROP (COLUMN);可能會收到 ORA-01562 - failed to extend rollback segment number string, 這是因為在這個刪除欄位的過程中你可能會消耗光整個RBS,造成這樣的錯誤出現(xiàn),因此這樣的做法并不是一個好方法,就算你拼命的加大RBS空間來應(yīng)付這個問題,也不會是個好主意。        我的建議做法:        1>        CREATE TABLE T1 (A NUMBER,B NUMBER);        SQL> begin 2 for i in 1 …… 100000 3 loop 4 insert into t1 values (i,100);5 end loop;6 commit;7 end;        SQL> select count(*) from t1;        COUNT(*)        100000        2>        SQL> ALTER TABLE T1 SET UNUSED COLUMN A CASCADE CONSTRAINTS;        不要馬上drop column,應(yīng)該先set unused讓column無法使用,避開系統(tǒng)尖峰時間再來處理刪除欄位里的資料,要注重的是一但你set unused column,這個欄位是無法再回復(fù)使用的。        3>        重點來了,若你的欄位有一百萬筆資料,我們應(yīng)該避免一次寫入那么多的undo log,所以我預(yù)備每刪除一千筆資料就commit一次。        SQL> alter table t1 drop unused columns checkpoint 1000;        Table altered.        在離峰的時間進(jìn)行這樣的動作,應(yīng)該可以避免 ORA-01562 的錯誤發(fā)生。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆子县| 绥江县| 寿阳县| 贺州市| 门源| 昆明市| 威海市| 清新县| 稻城县| 乌鲁木齐县| 潢川县| 民勤县| 迁西县| 深圳市| 涟源市| 惠水县| 双柏县| 贵港市| 乐安县| 乌兰察布市| 晋城| 耒阳市| 辽中县| 尼木县| 义马市| 尚志市| 望奎县| 怀集县| 治县。| 长海县| 宁夏| 洪洞县| 临颍县| 丰县| 阿城市| 思茅市| 葫芦岛市| 漳平市| 甘孜县| 东宁县| 集贤县|