国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 龙游县| 青神县| 神木县| 灵武市| 迁安市| 龙海市| 宁明县| 乃东县| 睢宁县| 双流县| 武功县| 惠州市| 德兴市| 安乡县| 沈丘县| 五大连池市| 广宗县| 中宁县| 响水县| 呼图壁县| 小金县| 永泰县| 旬邑县| 涪陵区| 桦甸市| 罗平县| 翼城县| 邹平县| 富宁县| 宕昌县| 杂多县| 巨鹿县| 黄陵县| 祁东县| 武宁县| 阳原县| 高淳县| 星座| 开封县| 屏山县| 罗甸县|