初级问题:何为数据库的 pack?只是为了压缩数据吗?(50分)

  • 主题发起人 主题发起人 patlovecl
  • 开始时间 开始时间
数据库PACK?
我只查到以下,
PACK只压缩掉值为空NIL的行,实际不从内存中删除
下面是帮助文件。

procedure TForm1.FormCreate(Sender: TObject);

var
MyList: TList;
I: Integer;
begin
MyList := TList.Create; {Create a list }
MyList.Add(PChar('A string')); {Add a string}
MyList.Add(PChar('')); { Add an empty string }
MyList.Add(nil); {Add nil }
MyList.Add(PChar('')); { Add another empty string }
Edit1.Text := IntToStr(MyList.Count); {Put count into Edit1}
Mylist.Pack; {Pack the list.}
Edit2.Text := IntToStr(MyList.Count); {Put count into Edit2}

MyList.Free; {Free memory for list}
end;
 
我问过类似的问题,得到圆满的解答,你可以到已答的问题中找一下啊
 
对数据库的PACK本人理解是:
早期的数据库中,为了保证数据安全,当用户删除一条记录时并不真正删除,
而是做一个标记,这样用户可以恢复误删除的记录.一段时间后用PACK再真正
删除.MS的垃圾箱就有模仿此功能之嫌!hehe!
 
dsp说的有道理,PACK还有一个用法:如果用了非MAINTAIN的INDEX,PACK可以维护
INDEX;)
 
是的,问题就这么简单。
 
多人接受答案了。
 
后退
顶部