解决方案 »

  1.   

    主从表的话,
    主表结构:
    主键(Id) 文件信息从表结构:
    主键(ID) 外键(主表ID) 分段信息(顺序) 二进制文件片段
      

  2.   


    我记得有个Blob分段上传的
      

  3.   

    Blob分段 这种技术,新版数据库已经不推荐使用了,存路径。
      

  4.   

    SQL Server支持随机位置读写 blob 数据:http://www.cnblogs.com/shanyou/archive/2013/06/11/3132212.html当然博客园上大部分内容是照抄别人的,你也可以查看原文:https://msdn.microsoft.com/zh-cn/library/gg471497(v=sql.110).aspx关键是,当 blob 很大时,你就需要以随机数据块方式去读写了。那种把整个 blob 字段内容读取出来的方法,根本不可取。
      

  5.   

    如果你有大量文件,不妨考虑 mongodb 等最近几年出现的数据库系统。因为这些更适用于现在出现的大数据需求。比如说,假设你有多个数据库服务器,mongodb数据库会在保存二进制文件时,自动处理数据的分片和复制操作。这样你就可以水平扩展你的数据库服务器,不会因为有1000个几G大文件而感到尴尬。
      

  6.   

    类似 SQL Server 这样的传统的关系型数据库,以前以为世界上的大文件不会放到数据库中统一管理、统一携带、统一备份、统一索引等等,所以数据库系统通常没有直接的二进制流处理功能。所谓 blob 字段的读写,通常不支持“分段”处理功能。但是现在,文件功能已经被内置到数据库系统中了。例如上面的 msdn 上就有许多例子,对保存在 SQL Server 系统中的文件进行读写。如今在数据库系统中保存文件,供成千上万客户端远程(随机分块)读写,同时使用普通的sql语句也可以对文件进行查询管理(例如根据文件名查询、根据文件的md5查询,等等),这也是一个潮流。
      

  7.   

    分段上传还是很大,在table中,哎
      

  8.   

    这个是给用户提供的工具,用户又没有权限直接把文档copy到服务器,不知道那些云存储是怎么转化的
      

  9.   


    公司就是用SQL Server~~
      

  10.   

    这个是给用户提供的工具,用户又没有权限直接把文档copy到服务器,不知道那些云存储是怎么转化的
    开个FTP啊
    不是什么问题都要数据库来解决的
      

  11.   

    这个是给用户提供的工具,用户又没有权限直接把文档copy到服务器,不知道那些云存储是怎么转化的云存储也是文件服务器,不可能给你存到数据库中的
      

  12.   

    你是C/S系统还是B/S系统?B/S系统的话,你可以将文件存在服务器中,然后将文件路径信息保存在数据库中。这样用户同样可以在数据库中搜索。而且处理起来也比较简单。