sqlserver的物理文件只看到两个,一个mdf文件和一个日志文件,请问mdf里的数据表及其数据还有索引等是用什么样的文件格式存放的?难道都存在一个mdf文件里?百思不得其解啊.

解决方案 »

  1.   

    就是在mdf文件里存放着,有什么不明白的啊。
      

  2.   

    都在mdf文件里面,不像oracle,分数据文件、日志文件跟控制文件。
      

  3.   

    据说sqlserver的数据表存储是每行数据分配8K的磁盘快,然后用指针来定位,但具体的方法是什么?单一的大文件如何内部分块?又如何用指针?指针指向的是什么,是磁盘块的偏移地址吗?c# 或者c++如何实现?完全没有方向啊。
      

  4.   

    sqlserver不太清楚,oracle的数据文件对应TableSpace,下面有一些数据表,对应Segment(段),一个表可以占用多个数据段。。然后再往下是Extent(区),用来进行扩展。再下面是DataBlock(块),一个区默认为8个块(64kb)。。当然这些都是一些逻辑概念,不需要了解也可以的。就像你不需要了解windows许多功能的底层实现原理,但也可以用好windows一样。