背景:
  在一个C/S或者B/S系统中,server端采用 windows2000 ,NTFS文件系统,sql2000数据库。
  需要在server端保存大量文件,包括多种格式。
问题:
  文件存放在数据库中还是存放在目录下。 
  如果存放在目录下,一个目录下存放文件的最大数目是多少,合理数目是多少,
  是否自动实现树型目录,树的深度为多少比较合理?

解决方案 »

  1.   

    to 如果存放在目录下,一个目录下存放文件的最大数目是多少,合理数目是多少,
    一般不会超过存放文件的最大数目(除非真的很多),不过建议分子目录来分别存放。to 是否自动实现树型目录,树的深度为多少比较合理?
    树型目录需要自己编程去实现,要在数据库中建立好对应关系。
      

  2.   

    如果对于一个开放系统,如bbs等,允许上传文件,server端可能需要保存很多文件。
    对于封闭的企业应用,应该好一些。
    关键问题是合理数目,如果一个目录下文件数目超过某个值,访问效率将会降低很多。这里提及了linux下的文件存放,说是256
    http://acesyp.cnblogs.com/archive/2005/04/25/144906.html不过NTFS使用B+树来管理文件索引,好像效率很高,应该>>256吧,可惜没查到。
      

  3.   

    windows系统下,尤其能运行.net的,肯定远远大于256。*_*
      

  4.   

    对于FAT32文件系统来说,在单个文件夹内,最多可以创建65534个子目录和文件。
    如果其中的某些子目录和文件采用长文件名的话,则会远远不足65534个子目录和文件。NTFS就不知道了。
      

  5.   

    我现在是存在目录中,两层目录,./file/d(n)/d(n),n为0~99
    然后控制每个目录存放文件不超过1000个,总容量则为1000万,应该够用了。存储时根据ID散布到相应目录中。
      

  6.   

    根据文件存到server端的日期建立文件夹.客户端可以ftp文件到server端,并在数据库中做好对应关系.