我正在考虑使用数据库来存储与记录标识符和文件名关联的一个或多个图像 ( .JPG )。
CREATE TABLE Images (
RecordID BIGINT NOT NULL,
ImageFilename VARCHAR(50) NOT NULL,
ImageData VARBINARY(MAX) --expected avg. size: 256K
)
我预计数据库 90% 的空间利用率将来自 BLOB。我知道 SQL Server 数据压缩不会通过行或页压缩来压缩 BLOB 数据。除了在 RecordID 和 ImageFilename 字段上进行压缩之外,压缩备份时是否可以节省任何费用?
我终于继续前进并获得了一个加载了数据的测试数据库。表结构为:
该表加载了大约 280 万条记录。FullImage 值已设置,ThumbnailImage 值保留为每条记录的 NULL。
数据库本身的大小为 154GB。未压缩的备份大小为 154GB。压缩后的备份大小为 134GB。
鉴于这两个 PK 字段大约占 24GB(2.8M 记录 * 9 字节/记录),看起来压缩的唯一节省是通过压缩 PK 字段来实现的。