从进程中的 C# 代码迁移到 SQL CLR 函数有哪些限制、意外陷阱和性能特征?
我们目前有几个数据繁重的进程,它们使用进程中的 C# Asp.net MVC 项目运行得非常快,根本不使用数据库。性能非常重要。应用程序使用内存中的静态缓存并执行复杂的操作以达到最终结果。缓存更新有点麻烦,我们正在考虑将其中一些进程转移到 SQL Server 查询中,这些查询只会输出最终结果,以便在 c# 应用程序级别需要更少的数据缓存。这些过程很复杂,我们知道迁移到数据库需要大量使用 SQL Server CLR 函数。
我们看到了利用数据库的很多优势,但是由于以下几个原因,需要使用 CLR 函数会导致暂停:
否 Azure:Azure不支持SQL CLR 函数,
高测试成本: SQL CLR 函数可能会更慢并且测试需要大量工作
小用户群:一个小时的谷歌搜索表明,使用 CLR 函数有点不常见,这使得社区支持(以及可能的 MS 支持)成为一个问题。
我很想听听有人将 C# 应用程序从进程中移动到 CLR 函数。
在您的回答中,请假设需要自定义 SQL CLR 函数。