命令RGZPFM做什么? 什么情况下运行? 影响命令RGZPFM执行时间的因素有哪些?
解答 命令RGZPFM应该在文件中被删除的记录超过20%时执行. 该命令执行后,系统的性能会改善。 因为系统在检索时不必再去读那些已经被删除的记录索引, 并且被删除记录所占有的硬盘空间会被释放而变 为可用。
影响命令RGZPFM执行时间的因素有很多, 最基本的有以下一些:o 在执行RGZPFM命令时, 系统会使用内部命令CPYF把数据部分拷贝到一个新的数据区, 如果文件 不是排序的(KEYFILE参数), 那么拷贝的频率是8K。由此可以估算出大致需要花费的时间。
o 在执行RGZPFM命令时用KEYFILE参数, 那么运行时间取决于记录在硬盘上的分布状况。 系统会 用现存的访问路径(ACCESS PATH)去读取数据。
o 访问路径(ACCESS PATH)的维护也是因素之一。 重建访问路径(ACCESS PATH), 在最坏的情况下 是每分钟10,000条记录。
注:内部命令CPYF是不被指定库的, 这是内部对象, 通过WEKOBJ命令看不到的。它所用到的中间文 件的大小和被拷贝的文件的大小是相同的。
如果你准备用RGZPFM命令来增加硬盘的可用空间, 不妨使用下列步骤: o 确认物理文件有可用的副本
o 将与之相关的逻辑文件保存到磁带上
o 用CPYTOTAP命令把物理文件(没有被删除的记录)保存到磁带上
o 删除相关的逻辑文件
o 清除物理文件
o 用CPYFRMTAP命令把保存在磁带上的物理文件备份会系统
o 恢复逻辑文件 (用EDTRBDAP命令去浏览和维护访问路径的重建)
注:o 如果硬盘上还有可用空间, RGZPFM命令会在同一ASP中创建物理文件的副本, 并随后重建逻辑 文件。 整个访问路径必须重建。 因此在执行该命令之前, 硬盘上必须要有足够的空间容纳 逻辑文件的索引。
o 如果打算一次对多个物理文件进行重整, 应该对逻辑文件有一个全盘的考虑。因为有些逻辑 文件是基于多个物理文件,如果是这样话, 就可以一次性在所有物理文件重整后重建逻辑访 问路径。