我的表格中有一列Nvarchar(Max)
。该列占字符串长度在255到500之间的百分之九十。有些超过22000,不需要作为其业务不会用于报告目的的XML的XML。无论如何缩短长篇大论是最好的方法来削减所有多余的批量。我试过通常的
left(column,500)
和
substring(column,1,500)
我已将目标列设置为500长度。 但是,将表从源加载到目标目标只需要一段时间就可以了。我在源代码中进行SSIS。我也去了输出列并忽略了截断。无论如何,我可以减少加载此列的时间。这些方法似乎与加载全长一样多。任何建议将不胜感激。
答案 0 :(得分:1)
NVARCHAR(MAX)
(即使使用像SUBSTRING
或LEFT
这样的功能会花费大量内存并快速填满缓冲区。检查DefaultBufferMaxSize
以及属性BLOBTempStoragePath
和BufferTempStoragePath
将它们设置为最佳值可能会提高性能,但请注意您已相应配置它们,因为它就像一把双刃剑。
此外,如果源和目标位于不同的服务器上,则网络也可能是一个问题,因为所有数据都必须通过网络从您的SQL服务器到SSIS服务器。您可以尝试更改Network Packet Size
这些链接提供了更多信息