sql2005数据库中存储的image类型数据比原图像大好几倍

dyiajure 2010-09-06 05:29:32
最近发现数据库硬盘空间不够了,一查原来是存的图像数据过大,要比原图像数据大3倍左右,我是把图像转成jpg或者tif后存到数据库中的,image类型,网上查了下image类型是按二进制存的,为什么会大好几倍呢?是因为jpg格式是可压缩的么?如何才能给图像数据“瘦身”?

另想问下有没有脚本能把现有图像数据压缩后再存到原来的表中,能提供脚本最好,关键字也行
...全文
152 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyiajure 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sqlcenter 的回复:]

SQL code
-- 测试一个jpg文件,大小为147191字节

create table # (img image, bin varbinary(max))

insert #(img) select * from OPENROWSET(BULK N'X:\...\xxx.jpg', SINGLE_BLOB) as t
update # set bin = BulkColumn from……
[/Quote]

谢谢你的帮助,我再查下数据库
dyiajure 2010-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ws_hgo 的回复:]

SQL code
你的意思你以前的图片格式使用image类型
现在想转换为字符串类型如图片的名称:1.jpg或者是.gif
[/Quote]

是原始图片格式是jpg或者tif的,在存储到数据库中数据量增大了,我理解都是二进制数据顶多增加一些索引开销,怎么会是原来的几倍呢?
SQLCenter 2010-09-06
  • 打赏
  • 举报
回复
-- 测试一个jpg文件,大小为147191字节

create table # (img image, bin varbinary(max))

insert #(img) select * from OPENROWSET(BULK N'X:\...\xxx.jpg', SINGLE_BLOB) as t
update # set bin = BulkColumn from OPENROWSET(BULK N'X:\...\xxx.jpg', SINGLE_BLOB) as t

select imgLen=datalength(img), img, binLen=datalength(bin), bin from #

/*
imgLen img binLen bin
----------- --------------- -------------------- ---------------
147191 0xFFD8FFE000... 147191 0xFFD8FFE000...
*/

-- 测试结果:用image或varbinary(max)类型存储都不会导致空间膨胀,大不了就是每张图片多16字节的指针

drop table #
「已注销」 2010-09-06
  • 打赏
  • 举报
回复
图片、声音文件,建议通过guid保存文件名到表中,具体文件copy到服务器下,这样对应起来就可以了。
obuntu 2010-09-06
  • 打赏
  • 举报
回复
没研究过,但对于图像,一般建议是存图像地址,图片则放在硬盘上。
ws_hgo 2010-09-06
  • 打赏
  • 举报
回复
你的意思你以前的图片格式使用image类型
现在想转换为字符串类型如图片的名称:1.jpg或者是.gif
dyiajure 2010-09-06
  • 打赏
  • 举报
回复
看来晚上没什么人啊,等明天了##!
wangguojunmy 2010-09-06
  • 打赏
  • 举报
回复
路过,关注学习啊!
附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[坡道(ramp)] · 训练集:275 张 · 验证集:27 张 · 测试集:0 张 · 总计:302 张 该数据集聚焦于城市环境中各类建筑入口处的坡道设施,涵盖住宅、商铺、公共设施等多种场景,真实反映了无障碍通行设施在实际应用中的多样化形态。数据集中包含金属、橡胶、塑料等多种材质的坡道,以及不同尺寸、结构和安装方式的实例,充分体现了坡道在城市基础设施中的广泛部署与重要性。该数据集为城市智慧化管理、无障碍环境建设及公共安全监控提供了高质量的视觉基础支持。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 33 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6372** mAP50-95 | 0.3401 Precision | 0.6603 Recall | 0.6190 train/box_loss | 1.0569 train/cls_loss | 0.7307 val/box_loss | 1.6084 val/cls_loss | 1.9323 【训练过程分析】 33 轮训练后 mAP50 仅 0.6372,模型收敛不充分。Loss 曲线前期下降后进入平台期,mAP 提升缓慢。mAP50-95 为 0.3401,定位精度同样偏低。 【模型性能评估】 Precision 0.6603、Recall 0.6190,精度高于召回,存在一... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧