2
这是我第一次尝试将图像存储在我的数据库中,而不是文件服务器,至今我很遗憾。我无法使用文件流,因为我的主机不支持它,所以我使用varbinary(max)列。我正在跟踪我插入的图像大小,到目前为止大约有28Mb,但数据库在3.2Gb,这只是疯狂。我更好地varbinary(XXXX)来减少这个 - 是SQL Server预留MAX的空间吗?SQL Server 2008 Varbinary(Max)列 - 创建3.2Gb数据库的28Mb图像
使用MS SQL Server 2008的BTW
这里是顶级表尺寸:
TableName RowCounts TotalSpaceKB UsedSpaceKB UnusedSpaceKB
Municipality 1028316 64264 64232 32
Image 665 33616 33408 208
User 320 248 224 24
SettingUser 5910 264 160 104
Region 1418 136 136 0
ImageUser 665 56 56 0
ConversationItem 164 56 56 0
Setting 316 48 48 0
Culture 378 40 40 0
UserTrack 442 40 40 0
Numbers 1000 32 32 0
Country 240 32 32 0
Conversation 52 32 32 0
CountryIp 0 88 32 56
ReportUser 0 16 16 0
ConversationItemImage 0 16 16 0
下面是EXEC结果注释sp_spaceused:
database_size unallocated space
3268.88 MB 0.84 MB
reserved data index_size unused
359592 KB 291744 KB 66600 KB 1248 KB
我应该还提到,有一个在市政表上的地理专栏,以防因空间索引而产生任何影响......我过去曾经使用过这么多次,没有任何问题,但我从未有过1M +记录通常小于20k
我个人不会将SQL用于文件存储。只需将元数据存储在数据库中,并使用文件系统来存储实际文件。它只是不值得使用SQL,除非你有小千字节文件。 – jcwrequests
600张图片的平均图像大小为43Kb我的理解是Varbinary对于1MB以下的任何东西都可以,但我倾向于同意你的看法 - 这是一个试用版,到目前为止我对它没有那么兴奋 – Rob
它让我想起瑞士陆军刀海报“只因你不能代表你应该”的单一责任主席海报。祝你好运。 – jcwrequests