我有一个存储过程,它生成一个 80,000 行的临时表,它作为表值参数传递给 32 个不同的其他存储过程(每个存储过程都将 TVP 作为输入参数)。
- 我应该担心我会得到一个我无法管理的记忆气球吗?
- 什么是监视(PerfMon?)如何使用/跟踪内存的好方法?
谢谢。
我有一个存储过程,它生成一个 80,000 行的临时表,它作为表值参数传递给 32 个不同的其他存储过程(每个存储过程都将 TVP 作为输入参数)。
谢谢。
1)根据这个问题:
bcp/BULK INSERT 与表值参数 TVP 的性能将在大数据集上使用批量复制时表现不佳。另一方面......计算出您的 80,000 行的最大数据大小,并确定您是否可以接受该大小的对象在 RAM 中浮动(我个人不会有问题......我们可以存储我们的整个RAM中的DB三倍以上)
2) 这是一个关于 ServerFault 的好线程,用于监控 SQL Server 的内存使用情况:
https://serverfault.com/questions/115957/viewing-sqls-cache-ram-usage