【发布时间】:2011-05-25 20:09:35
【问题描述】:
我有一个网站,用户可以在其中保存图像以及有关图像的几个信息字段。图像作为二进制数据存储在与图像信息的其余部分相同的表中。到目前为止相当标准。
现在,用户应该能够上传文档,更详细地描述图像,以及图像的其余部分及其信息。 每个文档的大小约为 2MB。
我的问题是:我应该将此文档(二进制数据)存储在与其余图像相同的表中,还是应该创建一个仅包含文档的新表。图像表中当然会有对文档表中文档的 id 引用。
在搜索图像时,我有一个搜索功能,可以连接几个表,包括图像表。我需要知道这两种解决方案在效率上是否存在差异。
我总是单独获取文档数据,但如果将文档放在单独的表中没有任何好处,我会将其与其余的图像信息放在一起。
我之所以问这个问题,是因为我真的不知道 SQL Server 在连接和搜索表时如何处理表。
我有大约 10'000 个用户,每个用户最多 10 张图片。 (ASP.NET - SQL Server)
(我不是在问是否我应该将文档存储在数据库中,而是如何;)
提前致谢!
/zalk
编辑
示例 1:
imageTable 中的列 - id、title、dateAdded、image(二进制数据)、document(二进制数据)
搜索来自特定用户的项目我将加入 userTable 和 imageTable 并选择 image id 等于用户 id 的标题。
那么,如果文档在 imageTable 中或在自己的 table 中,性能会有什么不同吗?
【问题讨论】:
标签: asp.net sql join performance