SQL Server 2008 FileStream与普通文件
我正在创建像youtube这样的应用来存储video,我需要一些建议。
我应该使用SQL Server FileStream来存储video文件,还是应该将它们存储在硬盘上的某个位置并将路径记录为SQL Server中的varchar(MAX)?
推荐哪个,为什么?
除了这两个之外,你还推荐别的吗? 请随时告诉我,但请告诉我为什么。
非常感谢。
FILESREAM类型的优点是提供透明事务,同时仍然在文件系统上存储大文件。 缺点是它是专有的,如果您决定更改数据库,此解决方案可能不太容易移植到其他数据库。 所以提供客观答案这个问题是不可能的恕我直言。
我会把它们存放在外面,因为没有立即和迫切的需要将它们存储在里面 。 此外,video很大 ,您可能需要通过其他一些编码等步骤来运行它们,这些步骤可能与SQL Server相似,也可能不同。 使用基本文件还可以让您有机会在任意数量的文件服务器上传播负载,而不是单个SQL Server。
重新走的路; 不存储完整路径 – 仅存储相对于您在应用中配置的外部根的某些路径。 这样,您可以重新定位所有文件,只需更改单个站点设置,而不必进行大的UPDATE
。 例如,在DB中我可能存储foo/bar/20110404_27.mpg
,然后将其与我的站点设置\\myfileserver\share
(使用Path.Combine
)组合。
我认为更好的方式是将图像存储在FileSystem中并将图像和其他信息保存在数据库中。 这些链接提供了更多信息
- UTF-8或UTF-16或UTF-32或UCS-2
- ASP.Net DropDownList OnSelectedIndexChange未触发
- 将gridview转换为图像
- ASP.NET高效聊天应用程序方法
- 在ASP.NET中创建文件夹并将图像上传到该文件夹的最佳方法?
- System.FormatException:将字符串转换为十进制时,输入字符串的格式不正确。
- 如何识别字符串是否包含unicode字符?
- 使用ASP.NET网站中的File.CreateFile将文件插入Sql Server 2012 FileTable时访问被拒绝
- sql server和asp.net中的窗口身份validation