我需要创建一个需要返回一些记录计数的存储过程。我正在使用 .Net 来读取结果。
我可以使用 OUTPUT
参数返回值或者 我可以在存储过程中执行 select count(*)
并使用一个SqlCommand.ExecuteScalar阅读它。
什么更好,为什么?
最佳答案
查看这篇 MSDN 文章:Performance Comparison: Data Access Techniques
文章在 GetOrderStatus
的性能测试中表明,OUTPUT 参数和 ExecuteScaler 之间的性能对于检索单个值 是相同的,但 ExecuteScalar 需要更少的代码。
以下是关于不使用 OUTPUT 参数的其他一些有趣的想法:
What's wrong with output parameters .我喜欢那个帖子中Output params break the fundamental idea of a function
的想法。
关于c# - 将单个值从存储过程返回到 .Net : OUTPUT parameter or ExecuteScalar? 有什么更好的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8589819/