none
复杂的文件存储需求, 该使用什么数据类型呢? RRS feed

  • 问题

  • 需要将一系列文件使用.net 技术存入数据库,有Office 文件,CAD 文件,各种格式的图片等等,请问SQL 05 使用什么数据类型合适? SQL 08 呢?
    2013年7月24日 4:34

答案

全部回复

  • VarBinary(Max),最简单、直接。若不是对性能有极限要求的话

    2008有FileStream,但管理、开发都复杂点


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2013年7月24日 5:04
  • 一般不建议把Office 文件,CAD 文件,各种格式的图片 这些文件放入数据库,一般建议建立一个文件服务器,图片服务器

    把这些文件放在文件服务器或图片服务器里,然后数据库只是存放指向这些文件的路径

    因为这些文件属于大文件,如果使用VarBinary数据类型,数据库的压力会很大,需要转换,还有备份数据库的时候

    备份时间会很长,还原的时间也会很长,DBCC checkdb的时间也会很长

    一般网站都是把图片放在专门的图片服务器,数据库只有图片的存放路径

    2013年7月24日 10:20
  • sql 2012 可以考虑 filetable

    sql 2008 及之后的版本可以考虑 filestream

    参考联机帮助上的说明:

    http://msdn.microsoft.com/zh-cn/library/bb895234(v=sql.100).aspx

    2013年7月25日 1:48
  • 不知道邹建大侠有没有测试过filestream和filetable的性能,读取和写入的性能,还有占用的空间大小

    还有您们的产品是否也使用到filestream和filetable

    如有冒味,请见谅

    2013年7月25日 6:52
  • For filestream, performance depends on where and what kind of storage you put files on. Space used are about same if you don't index varbinary(max) column.
    2013年7月25日 13:28
  • filestream 和 filetable 将文件存储在操作系统, 所以空间开销直接与文件大小有关, 目前没有遇到过文件需要存储到数据库的需求, 所以没有这方面的实际应用

    2013年7月26日 0:54
  • 就像EXCEL一样,俺们通常只使用其5%的功能,太正常不过了

    可能很多方案对一个DB人来说将一直无案例部署。。直到一万年


    Try SQL Server 2008 QQ:315054403 dgdba@hotmail.com

    2013年7月26日 1:07
  • 我也觉得是这样,优酷,又拍网应该也是把视频文件,图片文件放到文件服务器和图片服务器的
    2013年7月26日 1:22
  • 文件存数据库肯定没有存文件系统性能好。不过备份等管理操作更方便。

    binary本来就是二进制,有什么要转换的。


    想不想时已是想,不如不想都不想。

    2013年7月26日 3:25
    版主