自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

刪除一張大表時(shí)為什么undo占用空間接近原表兩倍?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
Oracle中,undo是保存記錄的前鏡像的,我理解如果delete from t;那產(chǎn)生的undo應(yīng)該和t表的大小差不多,但測試結(jié)果卻差的很遠(yuǎn),undo產(chǎn)生的量基本上是t表大小的兩倍,不知道為什么,難道我理解錯(cuò)了?

概述

Oracle中,undo是保存記錄的前鏡像的,我理解如果delete from t;那產(chǎn)生的undo應(yīng)該和t表的大小差不多,但測試結(jié)果卻差的很遠(yuǎn),undo產(chǎn)生的量基本上是t表大小的兩倍,不知道為什么,難道我理解錯(cuò)了?下面看下這個(gè)奇怪的現(xiàn)象。

刪除一張大表時(shí)為什么undo占用空間接近原表兩倍?

1. delete了8個(gè)小時(shí)

刪除一張大表時(shí)為什么undo占用空間接近原表兩倍?

2. 原表大小

可以發(fā)現(xiàn)原表也就16.5G,需要?jiǎng)h的數(shù)據(jù)是9G。

刪除一張大表時(shí)為什么undo占用空間接近原表兩倍?

3. 查看undo塊

這里忘記截圖了,但是是有300多萬個(gè)塊,查看對應(yīng)占用的undo空間是占了30多G,遠(yuǎn)遠(yuǎn)超過原表的大小。

為什么undo會占用這么多空間?

從原理上講,UNDO表空間,有四個(gè)作用:

  • 回滾事務(wù);
  • 一致性讀;
  • 事務(wù)恢復(fù);
  • 閃回查詢

請教楊長老得到的一些信息:

對于回滾事務(wù),他保存的是修改值的前鏡像,注意,不是修改的數(shù)據(jù)塊,或者整行記錄的鏡像。

除了考慮表大小之外,還有表上索引的總大小,是否存在觸發(fā)器,物化試圖日志等等。另外,看看數(shù)據(jù)庫級的supplemental log是否打開。

undo是記錄事物修改前鏡像的,而delete的前鏡像就是表中存儲的數(shù)據(jù)。當(dāng)然有一些可能會導(dǎo)致前鏡像比表中的原始數(shù)據(jù)大,比如壓縮,11g后存在的非空默認(rèn)值。

另外,undo的記錄一定有一些額外的成本,比如rowid,scn等信息,如果表中行記錄本身很小,那么這些成本就會顯得非常突出。

如果要非常精確地知道,多出來的每一個(gè)信息是多少,確實(shí)有些困難,但通過這個(gè)實(shí)驗(yàn),至少能了解到,一次delete操作刪除的容量,UNDO為了保存前鏡像,需要占據(jù)的容量,要比他多得多,這就是為什么不推薦一次delete操作刪除過多數(shù)據(jù)的原因之一。

總之,對于delete大量數(shù)據(jù)的情況一定要分批進(jìn)行,寧愿時(shí)間花多點(diǎn),風(fēng)險(xiǎn)也會少很多,避免意外導(dǎo)致回滾而造成的數(shù)據(jù)庫卡頓。

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-01-04 08:21:53

操作系統(tǒng)內(nèi)存

2009-10-26 16:13:29

Oracle使用UND

2021-03-05 08:29:20

DeleteMysql數(shù)據(jù)結(jié)構(gòu)

2009-10-22 16:25:53

Oracle UNDO

2009-10-26 17:07:17

VB.NET UNDO

2021-01-08 08:10:34

MySQL表空間回收

2022-11-17 12:09:51

2010-04-08 15:59:50

Oracle undo

2022-12-26 08:07:03

MySQL批量數(shù)據(jù)

2011-04-13 09:31:50

Oracle

2021-02-02 21:50:31

MySQL 8.0ExcelMySQL 5.7

2021-02-09 17:21:55

SQL數(shù)據(jù)庫存儲

2025-01-15 12:48:30

2022-01-18 08:29:58

Oracle數(shù)據(jù)庫后端開發(fā)

2010-05-10 18:05:15

Oracle釋放und

2012-11-14 11:18:29

Mysql

2023-10-09 13:17:28

2012-07-12 10:46:39

微軟

2020-08-06 08:00:51

數(shù)據(jù)分頁優(yōu)化

2024-11-06 08:49:46

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號