You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何高效与SQL Server互传GZipped压缩数据?

与SQL Server互传GZip压缩数据的高效实现

我了解SQL Server通过GZip实现COMPRESS/DECOMPRESS功能,压缩后的数据以十六进制格式存储且开头会附加额外字符。目前需要实现和SQL Server互传压缩数据的功能,应用场景涉及大型JSON负载,同样适用于从CSV/XML导入大量结构化数据的场景。

存储过程示例

CREATE OR ALTER PROCEDURE gzipTest
    @compressed VARBINARY(MAX)
AS
BEGIN
    SET NOCOUNT ON;
    SET XACT_ABORT ON;

    SELECT CAST(DECOMPRESS(@compressed) as VARCHAR(MAX)) as json
END;

应用端调用示例

mssql.exec({
    data: {
        compressed: {
            type: Datalayer.sql.VarBinary(Datalayer.sql.MAX),
            value: deflateSync(json),
        },
    },
    spName: 'gzipTest',
})

之前找到的接收压缩数据的示例中,用array.map(pair => parseInt(pair, 16))遍历缓冲区的方式处理量大、效率低,有没有遵循标准规范的更高效实现方式?


内容的提问来源于stack exchange,提问作者L33t8l

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:11:01