将存储过程中的单个值返回到.Net:OUTPUT参数或ExecuteScalar更好?
技术问答
205 人阅读
|
0 人回复
|
2023-09-13
|
我需要创建一个存储过程,该过程需要返回一些记录的计数。我正在使用.Net读取结果。
' }/ D& F$ |' ^8 r" {我可以使用OUTPUT参数返回值 , 也可以select
+ M9 e9 y! i3 D3 }- fcount(*)在存储过程中使用a并使用SqlCommand.ExecuteScalar读取它。
, p& L. v4 g2 O6 Z9 f有什么更好的,为什么?2 R8 l% B- R0 n( j4 M
9 M' [0 _1 j8 a# [1 L
解决方案:2 W/ O: ]' @9 `% _) W) ~
/ L+ n$ h H2 t |/ r8 y
& A( k( e' q# W0 C* j
. K$ O+ A* R- m$ B( M: z6 U; o 查阅此MSDN文章:性能比较:数据访问技术
9 ]/ N: g& e# _, j! f本文在性能测试中显示,GetOrderStatus对于检索 单个值: ]! F7 U: Y; v; t \- A
,OUTPUT参数和ExecuteScaler之间的性能相同,但是ExecuteScalar需要较少的代码。 |
|
|
|
|
|