我有一个任务,它使用数据流任务将记录从Oracle db拉到我们的SQL。这个包裹每天运行大约45分钟。此包将刷新大约15个表。除了一个,其他的都是增量更新。所以几乎每项任务都要持续2到10分钟。
完全替换的一个包长达25分钟。我想调优这个数据流任务,使其运行得更快。
表中只有400 K行。我确实读过一些关于DefaultBufferSize和DefaultBufferMaxRows的文章。我没有疑问。
发布于 2013-02-28 14:44:14
作为一种一般的实践(如果您有足够的内存),少量的大型缓冲区比更多的小型缓冲区要好,但要等到分页到磁盘(这显然是不好的)之前。
要测试它,可以记录事件BufferSizeTuning,这将显示每个缓冲区中有多少行。
此外,在开始调整缓冲区的大小之前,最重要的改进是通过移除不需要的列和适当配置数据类型来减少每一行数据的大小。
https://stackoverflow.com/questions/15128044
复制相似问题