亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Sybase > 正文

Sybase數據庫的碎片整理

2019-09-08 23:34:43
字體:
來源:轉載
供稿:網友
對于像Sybase這樣的大型DBMS系統而言,作為OLTP(聯機事務處理)應用的基石,它需要能每天24小時,每年365天不間斷運行。由于其應用程序每天對數據庫進行大量的插入、更新、刪除等操作,在數據庫的物理存儲介質上產生了大量存儲碎片,從而影響了存儲的效率以及數據庫應用運行的速度。是否可以像Windows操作系統的“碎片整理”程序一樣,整理這些碎片,從而優化數據庫存儲,提高數據庫的運行速度呢?答案是肯定的。本文將介紹Sybase數據庫的碎片類型以及碎片整理方法。

碎片類型

由于Sybase是通過OAM頁、分配單元和擴展頁來管理數據的,所以對OLTP應用的Database Server會十分頻繁地進行數據刪除、插入和更新等操作,時間一長就會出現以下幾種情況:
1. 頁碎片
即本來可以存放在一個頁上的數據卻分散地存儲在多個頁上。如果這些頁存儲在不同的擴展單元上,Database Server就要訪問多個擴展單元,因此降低了系統性能。
2. 擴展單元碎片
在堆表中,當刪除數據鏈中間的記錄行時,會出現空頁。隨著空頁的累積,擴展單元的利用率也會下降,從而出現擴展單元碎片。帶cluster index的table也有可能出現擴展單元碎片。
當有擴展單元碎片存在,會出現以下問題:
● 對表進行處理時,常常出現死鎖;
● 利用較大的I/O操作或增加I/O緩沖區的大小也無法改變較慢的I/O速度;
● 行操作的爭用。
3. 擴展單元遍歷
帶有cluster index的table會由于插入記錄而導致頁分裂,但當刪除記錄后,頁會獲得釋放,從而形成跨幾個擴展單元和分配單元的數據,而要訪問該數據就必須遍歷幾個擴展單元和分配單元。這將導致訪問/查詢記錄的時間大大延長,開始時數據庫的性能雖然較高,但使用一段時間后性能就會下降等問題。
實際上,數據在存儲空間上排列得越緊密有序,Database Server訪問的速度就越快,消除碎片有助于提高系統的性能和更有效地利用數據存儲空間。

碎片優化方法

處理碎片有多種方法,如重新定義table的填充因子,根據table的定義刪除并重新創建索引、重建表等。
本文給出的方法是通過BCP實用程序將用戶數據庫的數據以文本形式導出,然后將用戶數據庫徹底清空、截斷,再將文本數據導入到數據庫,從而達到消除碎片的目的,具有通用性。
下面以Sun Solaris 7操作系統下的Sybase Adaptive Server Enterprise 11.5為例,說明整理數據庫數據的具體方法。
1. 備份數據庫
為防止在數據庫碎片整理過程中出現不可預見的問題,有必要先備份數據庫。
2. 創建bcp out腳本并導出數據
● 創建包含下列SQL語句的文件:
cre_bcp_out.sql
select “bcp” + name + “out ./” + name + “_out.txt -Udboname -Pdbopwd -Ssys_name -c”
from sysobjects where type = ‘U’
order by name
go
● isql -Udboname -Pdbopwd -Ssystemname < cre_bcp_out. sql > b_out
● 編輯輸出文件,去掉文件第一行和最后兩行無關的字符:vi b_out
● 執行腳本,將數據庫的數據導出到文本文件:sh b_out
3. 創建truncate table腳本并截斷數據庫
● 創建包含下列SQL語句的文件:
cre_trunc_out.sql
select “truncate table” + name from sysobjects where type = ‘U’
order by name
go
● isql -Udboname -Pdbopwd -Ssystemname < cre_ trunc_out. sql > trunc_out. sql
● 編輯輸出文件,去掉文件第一行和最后兩行無關的字符,并在最后一行加入 go構成完整的SQL語句:vi trunc_out
● 執行以下語句,清空數據庫的數據:
isql -Udboname -Pdbopwd < trunc_out. sql
4. 創建bcp in腳本并導入數據
● 創建包含下列SQL語句的文件:
cre_bcp_in. sql
select “bcp” + name + “in ./” + name + “_out.txt -Udboname -Pdbopwd -Ssys_name -c”from sysobjects where type = ‘U’
order by name
go
● isql -Udboname -Pdbopwd -Ssystemname < cre_ bcp_in. sql > b_in
● 編輯輸出文件,去掉文件第一行和最后兩行無關的字符:vi b_in
● 從文本中導入數據:sh b_in
5. 更新數據庫狀態
Sybase不自動維護索引的統計信息,當用truncate table截斷數據庫時,索引并沒有改變,所以必須用update statistics來確保索引的統計信息對應當前表數據的統計。
● 創建包含下列SQL語句的文件:
cre_upd_st. sql
select “update statistics” + name from sysobjects where type = “U” order by name
go
● isql -Udboname -Pdbopasswd -Ssystemname < cre_upd_st. sql > upd_st. sql
● 編輯輸出文件,去掉文件第一行和最后兩行無關的字符,在最后一行加入 go構成完整的SQL語句:
vi upd_st. sql
● 更新數據庫狀態:
isql -Udboname -Pdbopasswd -Ssystemname < upd_st. sql
至此,基本上完成了數據庫用戶表的碎片整理工作。

小 結

在整理過程中,有以下兩點需要注意:
1. Tempdb的大小
當Sybase執行bcp in腳本時,會占用導入數據2倍的tempdb空間,因此在執行前要仔細估計最大的table的大小,保證有足夠的tempdb空間。當空間不夠時,要考慮用分割table或刪除陳舊數據的方法縮小table的大小,或者考慮增加tempdb的大小。
2. 數據庫配置選項的設置
當數據庫執行bcp in腳本時會產生大量的log,為保證bcp in進程不致因為log溢出而中斷,應該設置database的選項“truncate log on chkpt”為“true”。
雖然Sybase數據庫是自優化的,但只要數據庫是動態的,數據庫碎片現象就會存在。在OLTP應用的場合,隨著數據的不斷增大,系統變得越來越緩慢,并且經常出現死鎖時,應該檢查數據庫的碎片,并且采用以上方法進行優化。
實際上,應該定期做數據庫的碎片整理,保證數據庫的物理存儲經常處于最優狀態,相對于增加硬件而言,這是一種更好的保持數據庫性能的低成本的途徑。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品乱码久久久久久按摩观| 性色av香蕉一区二区| 成人久久一区二区| 精品视频在线播放色网色视频| 欧美成人一区二区三区电影| 国产精品免费在线免费| 91久久精品在线| 欧美xxxx18性欧美| 国产精品偷伦视频免费观看国产| 国产精品亚洲美女av网站| 日韩欧美国产中文字幕| 久久精品久久精品亚洲人| 成人免费看黄网站| 色综合视频网站| 日韩av影院在线观看| 一本大道久久加勒比香蕉| 992tv在线成人免费观看| 色综合影院在线| 日韩精品在线观看一区| 精品久久久久久中文字幕大豆网| 91久久久久久国产精品| 国内外成人免费激情在线视频| 红桃视频成人在线观看| 国产在线不卡精品| 久久99热这里只有精品国产| 69av在线视频| 日本欧美黄网站| 国产欧美日韩中文| 欧美性videos高清精品| 69影院欧美专区视频| 国产在线视频一区| 欧美xxxwww| 国产99视频在线观看| 欧美性猛交99久久久久99按摩| 久久久久国产精品免费网站| 久久精品国产精品亚洲| 欧美一级视频在线观看| 日韩在线视频二区| 美女av一区二区三区| 国产综合在线观看视频| 欧美激情亚洲视频| 丝袜亚洲欧美日韩综合| 激情久久av一区av二区av三区| 欧美日韩在线一区| 日韩中文娱乐网| 成人激情春色网| 亚洲xxxx视频| 57pao成人永久免费视频| 日韩精品免费在线观看| 亚洲国产另类久久精品| 欧美最猛黑人xxxx黑人猛叫黄| 国产国语videosex另类| 北条麻妃99精品青青久久| 日本老师69xxx| 日本电影亚洲天堂| 欧美一区三区三区高中清蜜桃| 久久久亚洲影院| 成人网在线观看| 亚洲国产成人精品一区二区| 中文字幕欧美精品在线| 亚洲欧美激情在线视频| 中文.日本.精品| 91欧美精品成人综合在线观看| 97久久国产精品| 中文字幕久久精品| 亚洲国产中文字幕久久网| 亚洲国产精品成人精品| 精品久久久久久久大神国产| 色婷婷综合久久久久| 亚洲一区二区三区sesese| 综合136福利视频在线| 亚洲视频在线播放| 91成人国产在线观看| 久久噜噜噜精品国产亚洲综合| 综合网日日天干夜夜久久| 亚洲国产婷婷香蕉久久久久久| 5566日本婷婷色中文字幕97| 精品福利樱桃av导航| 亚洲欧美中文日韩v在线观看| 久久韩国免费视频| 日韩精品福利网站| 亚洲www在线| 国产亚洲精品久久久久久| 国内免费精品永久在线视频| 性色av一区二区三区在线观看| 色黄久久久久久| 日韩有码视频在线| 亚洲一区二区黄| 91性高湖久久久久久久久_久久99| 亚洲第一男人天堂| 91精品久久久久久久久久| 日本在线精品视频| 国产精品96久久久久久又黄又硬| 国产亚洲成av人片在线观看桃| 亚洲三级免费看| 国产亚洲精品久久久久动| 国产精品综合不卡av| 成人激情视频免费在线| 国产成+人+综合+亚洲欧美丁香花| 中文字幕亚洲图片| 亚洲成人精品在线| 91免费在线视频| 欧美极品少妇xxxxx| 国产成人短视频| 亚洲午夜精品久久久久久久久久久久| 亚洲精品视频免费| 国产精品一区二区三区在线播放| 成人a在线视频| 成人网欧美在线视频| 国产精欧美一区二区三区| 亚洲欧美在线磁力| 亚洲va码欧洲m码| 综合激情国产一区| 亚洲激情电影中文字幕| 国产91久久婷婷一区二区| 欧美片一区二区三区| 日韩av理论片| 色系列之999| 欧美一级淫片videoshd| 国产精品日韩在线一区| 狠狠躁夜夜躁人人爽天天天天97| 欧美极品少妇xxxxⅹ喷水| 91精品国产自产91精品| 午夜精品国产精品大乳美女| 黑人巨大精品欧美一区二区三区| 成人精品视频99在线观看免费| 97人洗澡人人免费公开视频碰碰碰| 日韩精品视频在线观看网址| 日韩精品在线观看视频| 亚洲精品国产suv| 91色精品视频在线| 国产女精品视频网站免费| 国产精品视频网址| 日韩av影视在线| 亚洲理论在线a中文字幕| 国产欧美va欧美va香蕉在| 亚洲区bt下载| 日韩一区二区三区xxxx| 夜夜躁日日躁狠狠久久88av| 久久久久久久久久久免费| 亚洲免费影视第一页| 亚洲国产精品免费| 欧美国产极速在线| 国产亚洲精品美女久久久久| 久久久国产一区| 亚洲女人初尝黑人巨大| 久久久久日韩精品久久久男男| 久久精品人人爽| 国产精品三级美女白浆呻吟| 一本色道久久88精品综合| 综合网中文字幕| 成人中心免费视频| 国产精品18久久久久久麻辣| 精品国产成人av| 北条麻妃一区二区在线观看| 国产精品高精视频免费| 91在线播放国产| 亚洲精品99久久久久| 欧美裸体男粗大视频在线观看| 国产成人精品视频在线| 欧美成人全部免费| 国产日韩欧美夫妻视频在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 97久久精品国产|