非常简短的背景:
我们正在利用CLR存储过程应用访问控制,在查询结果上使用Active Directory,以限制最终用户按照要求查看什么内容。简而言之,这是通过从datatable中删除行来完成的,在该行中,用户不满足访问结果(在本例中为文档)的条件。
以前,此筛选是在客户端显示结果之前完成的。 SQL 2008和更强大的服务器是将此访问过滤器从客户端移除的动力。
我想知道的是,与将“内联”T-SQL传递给comand对象(在本例中仅为原始T-SQL)相比,从CLR存储过程等效调用原始常规T-SQL存储过程是否有任何性能优势? 我找不到任何人提到这一点(部分原因可能是因为它作为CLR SPs的示例会非常令人困惑,我猜:-))。 对我来说,似乎你可能已经优化和编译了T-SQL存储过程?
有人能为我确认这一点吗?
希望我表述得足够清楚。非常感谢,
Colm.
以前,此筛选是在客户端显示结果之前完成的。 SQL 2008和更强大的服务器是将此访问过滤器从客户端移除的动力。
我想知道的是,与将“内联”T-SQL传递给comand对象(在本例中仅为原始T-SQL)相比,从CLR存储过程等效调用原始常规T-SQL存储过程是否有任何性能优势? 我找不到任何人提到这一点(部分原因可能是因为它作为CLR SPs的示例会非常令人困惑,我猜:-))。 对我来说,似乎你可能已经优化和编译了T-SQL存储过程?
有人能为我确认这一点吗?
希望我表述得足够清楚。非常感谢,
Colm.