我想是这样的,就象在文件系统中,为文件分配硬盘空间的时候,也不是以一个字节为单位的,而是以一块区域(比如说512个字节)为单位的。就是说,你一个字节的文件和500个字节的文件,占用的都是512个字节的硬盘空间。在数据库系统中也是同样的道理。
    另外,如果你用过sqlserver 6.5,知道sqlserver 6.5中的driver的概念的话,你就会知道数据库系统还不同于文件系统。数据库系统是建立在文件系统之上的,数据库先向文件系统申请一块区域来保存它的系统表之类的东西,可能它要用到2M,实际上却会申请10M,另外的8M空间也许是为了临时表之类的东西而预留的。

解决方案 »

  1.   

    try
    {
    CDaoWorkspace::CompactDatabase(sourcefile,
    tempfile,dbLangGeneral,dbDecrypt,";PWD=hsy");
    }
    catch(CDaoException * e)
    {
    e->ReportError();
    e->Delete();
    return ;
    }
      

  2.   

    我那数据库本来350M做了job,
    当数据库.mdf文件大小大于350时,删除数据最早一天数据,但是.mdf文件大小不变..
    job不断被触发。数据越来越少,除非触发改成1天1次。
      

  3.   

    to:sjyhsy(sjyhsy) 
    请问是什么意思?
      

  4.   

    操作ACC数据库后,数据库会留下文件碎片,这样文件就会越来越大ACC没有很好的解决方法,只要库中有数据,你就不能通过:实用工具-》修复和压缩数据库来减少数据库的大小,除非你把里面的内容全部删除,再使用上述工具。ACC的性能太差,对于大的数据库,建议使用sql server
      

  5.   

    我问的问题就是针对于SQL SERVER。