您正在看的sybase教程是:Sybase數據庫的碎片整理。e = “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應用的場合,隨著數據的不斷增大,系統變得越來越緩慢,並且經常出現死鎖時,應該檢查數據庫的碎片,並且采用以上方法進行優化。
實際上,應該定期做數據庫的碎片整理,保證數據庫的物理存儲經常處於最優狀態,相對於增加硬件而言,這是一種更好的保持數據庫性能的低成本的途徑。