此题说的是oracle空间分配问题,如不清楚oracle的,说说ms sql的分配方式也行

解决方案 »

  1.   

    sp_spaceused
    显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间
    sp_spaceused '表名'
      

  2.   

    概念不同, oracle中有表空间之类的说明, sql server中的概念不是这样的.oracle中的表空间相当于sql server中的文件组.在sql server中, 要完整的解析清楚楼主需要了解的信息, 必须事先了解如下概念:
    物理文件, 逻辑文件
    文件组
    主数据文件, 次要数据文件, 日志文件
    页和区
      

  3.   

    基本上来说, 数据库通过物理文件映射到具体的磁盘文件系统上的文件
    数据库内部通过逻辑文件进行数据库的文件方面的组织和管理在数据存储的组织方面, 数据库以文件组(由>=1个逻辑文件构成, 逻辑文件与物理文件一一对应)为单位, 对象(表, 索引等)只能指定使用那个文件组在数据具体存储时, sql server以1个8K的页为最小的存储单位, 页的大小是固定不可设置的.至于sql server如何将页在在文件组内分配, 这是不可控的行为.
      

  4.   

    Oracle的物理结构是:block 、extent 、segment..首先确定你的表存储的BLOCK大小,然后使用show_space('表名')察看分配情况。建议在试验过程中,察看数据后,再进行update等操作,否则容易引起碎块并且pctused和pctfree会对实验结果产生影响...具体Oracle Interal的问题东西你最好去:asktom.oracle.com去看。
      

  5.   

    推荐个相关贴子:http://www.itpub.net/showthread.php?threadid=247459&pagenumber=