SQL Server 2008 FileStream与普通文件

Jos*_*osh 5 c# asp.net filestream sql-server-2008

我正在创建像youtube这样的应用来存储视频,我需要一些建议.

我应该使用SQL Server FileStream来存储视频文件,还是应该将它们存储在硬盘上的某个位置并将路径记录为SQL Server中的varchar(MAX)?

推荐哪个,为什么?

除了这两个之外,你还推荐别的吗?请随时告诉我,但请告诉我为什么.

非常感谢.

Dar*_*rov 9

FILESREAM类型的优点是提供透明事务,同时仍然在文件系统上存储大文件.缺点是它是专有的,如果你决定更改数据库,这个解决方案可能不太容易移植到其他数据库.因此,提供客观答案这个问题是不可能的恕我直言.


Mar*_*ell 8

我会把它们存放在外面,因为没有立即和迫切的需要将它们存储在里面.此外,视频很大,您可能需要通过其他编码等步骤来运行它们,这些步骤可能与SQL Server相似,也可能不同.使用基本文件还可以让您在任意数量的文件服务器而不是单个SQL Server上分散负载.

重新走的路; 不存储完整路径 - 仅存储相对于您在应用程序中配置的外部根目录的路径.这样,您可以重新定位所有文件,只需更改单个站点设置,而不必做大事UPDATE.例如,在我可能存储的数据库中foo/bar/20110404_27.mpg,然后将其与我的网站设置\\myfileserver\share(使用Path.Combine)相结合.