批量调整勤哲Excel服务器图片附件尺寸
茶余饭后

批量调整勤哲Excel服务器图片附件尺寸

傻木
2025-04-08 / 0 评论 / 221 阅读 / 正在检测是否收录...

批量调整勤哲 Excel 服务器图片附件尺寸

问题背景:服务器存储的“顽疾”

这是一个长期存在的痛点。勤哲服务器极其不稳定,且对附件大小有限制,但限制效果微乎其微。

由于产线员工随手拍摄的照片分辨率极高,导致大量大图直接存入数据库:

  • 单张图片体积可达 14MB
  • 一张问题单若上传 8 张图,体积常达 30MB
  • 大量此类数据堆积,导致服务器数据库不堪重负。

如果文件存在本地文件夹内,使用工具批量调整尚且容易,但由于图片直接存储在数据库中,处理起来非常棘手。


第一步:查看附件体积

可以通过以下 SQL 语句,自行查询数据库中附件的具体体积情况:

SELECT
    c.FullName AS 详细路径,
    a.ObjName AS 模板名称,
    ROUND(
        ISNULL(
            DATALENGTH(dbo.ES_CasePic.img) / 1048576.0,
            0
        ),
        2
    ) AS 附件大小MB
FROM
    dbo.ES_Bo AS a
LEFT OUTER JOIN dbo.ES_V_TmpClass AS c ON a.ClassId = c.ClassId
LEFT OUTER JOIN dbo.ES_Tmp AS t ON a.ObjId = t.objId
INNER JOIN dbo.ES_RepCase ON dbo.ES_RepCase.RtId = t.RtId
INNER JOIN dbo.ES_CasePic ON dbo.ES_CasePic.RcId = dbo.ES_RepCase.rcId
WHERE
    dbo.ES_CasePic.NFSFolder = ''
ORDER BY
    附件大小MB DESC;

第二步:解决方案(Python 脚本)

借助 AI 编写了一个 Python 脚本,用于批量调整图片分辨率。

处理效果:

  • 数据库图片附件表单:16.41GB 降至 1.45GB(直接减掉 15GB);
  • 整个数据库体积:51GB 显著降低至 33GB
  • 压缩后体积:20.4GB 降至 5.96GB

叉腰.jpg


注意事项与执行建议

  1. 代码说明: Python 代码由 AI 生成,已在生产数据库执行验证,无异常。若不清楚代码逻辑,请自行咨询 AI。
  2. 环境兼容性: 是否能在其他服务器上成功执行,取决于你的具体运行环境。
  3. 核心提醒: 执行前请务必做好备份工作! 作者不对执行脚本带来的任何后果承担责任。

a.jpg
b.jpg


资源下载

1

评论 (0)

取消
网站版权本人所有,你要有本事,盗版不究。 sam@gpcb.net