由于性能原因,我编写了一个C#.Net独立DLL,用于加密SQL 2008 R2表(在64位平台上运行)上的数据。这可能会占用大量内存,因为可能会有很多行需要通过。
我已经将它与SQL CLR集成为一个程序集/函数,一切正常。
此程序集使用Permission_Set'UNSAFE'运行,但作为托管程序集运行(由sys.dm_clr_loaded_assemblies报告)。
我通过MS Process Explorer密切关注内存使用情况,并且每次调用该函数时内存使用量都在增加,但它没有被释放。
通过阅读MSDN文档,AppDomain可以缓存从函数返回的数据,以提高效率。如果我卸载程序集,内存就会被释放。
我有几个问题:
我非常感谢上面的一些帮助,因为在线文档在SQL CLR和内存等方面并不是很清楚。
谢谢:)