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

首頁 > 數據庫 > Sybase > 正文

Sybase中拆分大事務的方法

2024-09-06 23:53:54
字體:
來源:轉載
供稿:網友

有些操作會大批量地修改數據, 如大量數據的修改(Update) 、刪除一個表的所有數據(Delete)、大量數據的插入(Insert),這樣會使Log增長速度很快,有溢滿的危險。下面給大家介紹一下如何拆分大事務,以避免日志的溢滿。

例如執(zhí)行“update tab_a set col_b = 0”命令時,若表tab_a很大,則此Update動作在未完成之前就可能使Log溢滿,引起1105錯誤(Log Full),而且執(zhí)行這種大的事務所產生的獨占鎖(Exclusive Table Lock),會阻止其他用戶在執(zhí)行Update操作期間修改這個表,這就有可能引起死鎖。為避免這些情況發(fā)生,我們可以把這個大的事務分成幾個小的事務,并執(zhí)行“dump transaction”動作。

上例中的情況就可以分成兩個或多個小的事務:

update tab_a set col_b = 0 where col_a > x
go
dump transaction database_name with truncate_only
go
update tab_a set col_b = 0 where col_a <= x
go
dump transaction database_name with truncate_only
go

這樣,一個大的事務就被分成兩個較小的事務。

按照上述方法可以根據需要任意拆分大的事務。若這個事務需要備份到介質上,則不用“with truncate_only”選項。若執(zhí)行“dump transaction with truncate_only”命令,應該先執(zhí)行“dump database”。依此類推,我們可以對表刪除、表插入等大事務做相應的拆分。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 连云港市| 金华市| 巴彦县| 铜川市| 南康市| 龙里县| 富蕴县| 峡江县| 岑巩县| 紫金县| 会理县| 安宁市| 德阳市| 泽库县| 中江县| 顺平县| 清远市| 延边| 红安县| 满城县| 潮州市| 新河县| 四平市| 赣州市| 泗水县| 安化县| 绵阳市| 龙口市| 东城区| 青河县| 江门市| 杨浦区| 盐山县| 台湾省| 南雄市| 青铜峡市| 新蔡县| 沧州市| 溧阳市| 开化县| 台东县|