SQL Server 2008 CLR与T-SQL:是否存在效率/速度差异?

Dav*_*fer 5 t-sql sql-server clr sqlclr sql-server-2008

我是一名C#开发人员,他在T-SQL中完成了一些基本的数据库工作.但是,我需要编写一个非常复杂的存储过程,远高于我的T-SQL知识.

使用.net CLR作为SQL Server 2008的一部分在C#中编写存储过程会导致我的存储过程效率低于在T-SQL中编写的存储过程吗?差异(如果有的话)是否显着?为什么?

Qua*_*noi 8

CLR需要一些通信开销(在CLR和之间传递数据SQL Server)

经验法则是:

  • 如果您的逻辑主要包括可以使用set操作执行的大量数据集的转换,那么请使用TSQL.

  • 如果您的逻辑主要包括相对少量数据的复杂计算,请使用CLR.

使用set操作可以完成比看起来更多的操作.如果您在此处发布您的要求,我们可能会提供帮助.


And*_*are 5

请参阅CLR集成的性能:

本主题讨论了一些增强Microsoft SQL Server与Microsoft .NET Framework公共语言运行时(CLR)集成性能的设计选择.