题
我有在数据库中存储的图像的应用程序。 现在我已经了解到,这是不这样做,因为这样的性能的最佳方式。
我已经开始提取所有的“斑点”从数据库中,并加入它们(通过虚拟文件夹)到数据文件夹
问题是,我有媒体链接存储8000个斑点,如果我把它们夹在这样的“数据/
我想知道你是如何存储你的文件的最好?
他们创建日期喜欢这组 “数据/ <年> / <月> / <日> /
任何帮助是受欢迎的。
Grtz, 中号
解决方案
什么版本的SQL Server您使用的?因为如果你使用的是2008年,你可以使用 FILESTREAM数据类型存储图片。这仅仅是因为它们存储在文件存储,但没有任何相关的麻烦一样高效。请参见获取牵引与SQL Server 2008文件流。
其他提示
一个简单的策略是根据第一[几个]位(多个)分组。 E.g:
1/
2/
123.blob
129.blob
5/
151.blob
2/
0/
208.blob
这样,你知道你永远不会有一个目录中10多个子目录。当然,你可以使用更多或更少的水平(目录),和/或多个数字每级。
一个更复杂的,动态的系统可以按需创建子级别:如果斑点在特定目录中的数超过预设最大值时,创建另一个10个子目录和在移动文件
大多数文件系统对BLOB数据将设立多个子目录。举例来说,如果你的ID为1-10000,你可以有:
00/
00/
01/
02/
00020.blob
00021.blob
...
...
01/
02/
03/
...
在其他问题我已经为你回来:为什么会这样对你不好给他们管理为BLOB
?你需要将文件存储在相应的树结构?如果没有,你可以将文件命名为/YOURFOLDER/blobid_blobname.extension。这种方式上载的文件夹作为纯粹的数据的存储库,而不是模仿的数据结构。