0

我知道 SQL 服务器通过在我们选择或更新等时将数据从硬盘加载到 RAM 来为所有操作使用内存缓存。此外,我读过 SSIS 也使用一些缓冲区来执行数据流任务。所以,我的问题是..

1)这些缓冲区和缓存是否相同?

2)如果是的话,我们过去在数据流任务(eg:OLEDB Data Source task)里面写了sql语句,所以SSIS必须创建一些缓冲区来加载数据。OLEDB Source任务里面执行的sql语句是否不会创建任何缓存?

4

1 回答 1

2

不,它们不一样。

SQL Server 数据库引擎有自己的缓存,并且正在运行的包中的每个 SSIS 数据流任务也有自己的缓存。

因此,当您在 OLEDB 数据源任务中、数据流任务中、正在运行的 SSIS 包中进行 SQL Server 查询时,SQL Server 必须将所有数据带到数据库引擎缓存中,然后将数据读入数据流任务的缓冲区(然后可以通过数据流管道中的各种缓冲区)。

SQL Server 数据库引擎和 SSIS 包的内存使用本身就是一个巨大的话题,但我希望这能回答你的问题。

于 2012-04-07T20:51:35.763 回答