如何高效与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
相关产品推荐
相关产品推荐

