我是一名 C# 开发人员,曾在 T-SQL 中完成过一些基本的数据库工作。然而,我需要编写一个非常复杂的存储过程,远远超出我的 T-SQL 知识。
作为 SQL Server 2008 的一部分,使用 .net CLR 用 C# 编写存储过程是否会导致存储过程的效率低于用 T-SQL 编写的存储过程?差异(如果有)显着吗?为什么?
最佳答案
CLR
需要一些通信开销(在 CLR
和 SQL Server
之间传递数据)
经验法则是:
如果您的逻辑主要包括大量数据集的转换(可以使用集合操作执行),则使用
TSQL
。如果您的逻辑主要包含相对少量数据的复杂计算,请使用
CLR
。
使用集合操作可以做的事情比看上去的要多得多。如果您在此发布您的要求,我们可能会提供帮助。
关于sql-server - SQL Server 2008 CLR 与 T-SQL : Is there an efficiency/speed difference?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2097958/