| Sybase数据库碎片优化方法 | ||
作者:北极圈 文章来源:本站整理 点击数: 更新时间:2008-6-25 16:56:26 |
||
|
碎片类型 由于Sybase是通过OAM页、分配单元和扩展页来管理数据的,所以对OLTP应用的Database Server会十分频繁地进行数据删除、插入和更新等操作,时间一长就会出现以下几种情况: 1. 页碎片 即本来可以存放在一个页上的数据却分散地存储在多个页上。如果这些页存储在不同的扩展单元上,Database Server就要访问多个扩展单元,因此降低了系统性能。 2. 扩展单元碎片 在堆表中,当删除数据链中间的记录行时,会出现空页。随着空页的累积,扩展单元的利用率也会下降,从而出现扩展单元碎片。带cluster index的table也有可能出现扩展单元碎片。 3. 扩展单元遍历 带有cluster index的table会由于插入记录而导致页分裂,但当删除记录后,页会获得释放,从而形成跨几个扩展单元和分配单元的数据,而要访问该数据就必须遍历几个扩展单元和分配单元。这将导致访问/查询记录的时间大大延长,开始时数据库的性能虽然较高,但使用一段时间后性能就会下降等问题。 碎片优化方法 处理碎片有多种方法,如重新定义table的填充因子,根据table的定义删除并重新创建索引、重建表等。本文给出的方法是通过BCP实用程序将用户数据库的数据以文本形式导出,然后将用户数据库彻底清空、截断,再将文本数据导入到数据库,从而达到消除碎片的目的,具有通用性。 下面以Sun Solaris 7操作系统下的Sybase Adaptive Server Enterprise 11.5为例,说明整理数据库数据的具体方法。 1. 备份数据库 为防止在数据库碎片整理过程中出现不可预见的问题,有必要先备份数据库。 2. 创建bcp out脚本并导出数据 ● 创建包含下列SQL语句的文件: 3. 创建truncate table脚本并截断数据库
|
||
| 文章录入:admin 责任编辑:admin | ||
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||