SSIS 输出和 SSMS 输出中的数据大小差异

问题描述 投票:0回答:2

我有一个 SSIS 包,它使用 SQL 命令从数据库中提取数据,然后生成分隔文本文件,即

1452kb

我在 SSMS 上运行相同的查询并生成文本文件,即

1499kb

两个数据给出相同的行数,文件大小差异背后的原因可能是什么以及解决此问题的方法

sql-server ssis ssms etl
2个回答
1
投票

假设文件包含相同的数据。有很多因素会导致尺寸不同:

  • 编码: 如果使用 Unicode,它可能会存储其他数据,例如 字节顺序标记 (BOM)

  • 行分隔符: 这实际上只是关于文件中存储哪些字节。

    CR
    是用于回车的字节码(来自打字机时代),
    LF
    类似地用于换行。它仅指作为行尾标记放置的字节。
    CRLF
    是两个字符的组合。

  • 空行: 有时数据导出器可能会在文件末尾添加空行

  • 标题: 如果一个文件包含列标题而另一个文件不包含

希望有帮助


0
投票

当从 Azure SQL 数据库运行简单的性能测试时,我的新旧笔记本电脑之间存在更令人惊讶的字节差异:

 SELECT TOP 10000 * FROM [Order] ORDER BY OrderId DESC

旧笔记本电脑:

348,057,200 bytes

新笔记本电脑:
523,447,600 bytes

对于相同的数据,传输的数据量增加了 50%。

  • Windows 11
  • 相同的数据库,(是的,我 100% 确信这一点)
  • 新笔记本电脑 SSMS 20,旧笔记本电脑 SSMS 18.12

无论具体原因如何,目前仍是个谜。不过很奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.