亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
請問vacuum freeze問題
[打印本頁]
作者:
ora_explorer
時間:
2015-03-06 16:14
標題:
請問vacuum freeze問題
如題。
自己在做測試的時候vacuum freeze table之后,xmin沒變,有的時候age(relfrozenid)變化,有的時候不變化,請問freeze究竟做了什么,如果id號已經(jīng)到了快用完的狀態(tài),即使是年齡歸零不還是可能循環(huán)回來嗎?請大神解釋,謝謝了!
作者:
asdf2110
時間:
2015-03-09 10:49
由于xid用uint4存儲的,最多40幾億個,用完了就要循環(huán)使用,如果發(fā)生循環(huán)使用,那么如何區(qū)分是舊事務產(chǎn)生的元組,還是新事務產(chǎn)生的呢?
其實不需要知道是舊事務還是新事務的,只需要知道該元組對當前事務是否可見就可以了。
所以,vacuum會“定期”的對其進行處理,在元組頭標記 FrozenTransactionId,后續(xù)的事務看見FrozenTransactionId標記的元組,都認為是可見的(當然還有xmax等需要判斷)
這個”定期“指的是元組的xmin/xmax與當前數(shù)據(jù)庫系統(tǒng)活躍的最小的事務號之間的差距(PS:如果系統(tǒng)有長事務一直不提交,那么最終會導致事務號無法回收)
超過這個差距,就要對元組事務號回收,否則不需要回收。
vacuum加上freeze參數(shù)后,這個差距變成0;不加這個默認使用系統(tǒng)參數(shù) Min(vacuum_freeze_min_age, autovacuum_freeze_max_age / 2)
這點可以從函數(shù) vacuum_set_xid_limits 找到。
不知道有沒有說清楚。
回復
1#
ora_explorer
如題。
自己在做測試的時候vacuum freeze table之后,xmin沒變,有的時候age(relfrozenid)變化,有的時候不變化,請問freeze究竟做了什么,如果id號已經(jīng)到了快用完的狀態(tài),即使是年齡歸零不還是可能循環(huán)回來嗎?請大神解釋,謝謝了!
作者:
ora_explorer
時間:
2015-03-11 09:45
回復
2#
asdf2110
還是有些不太明白,請問如果回收事務號的話,會把frozenID標記去掉然后xmin歸零嗎?
作者:
asdf2110
時間:
2015-03-12 08:57
frozen 標記不會去掉,除非這條記錄被delete 了
xid循環(huán)使用時,只要保證上一輪在此xid之前的元組都已被標記就可以了。
比如,循環(huán)使用了 9999 這個事務號,那么要保證 所有xid <9999的可見元組都被標記位 frozen才行
回復
3#
ora_explorer
作者:
ora_explorer
時間:
2015-03-27 10:48
回復
4#
asdf2110
明白了,太感謝啦!~~~
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2