小编Ran*_*aze的帖子

SQL Server性能ResultSet与输出参数vs返回值

我正在权衡使用三种不同方法之一将存储过程中的单个标量值返回到C#例程的潜在性能影响.谁能告诉我哪些是"更快",最重要的是,为什么?

方法1:

CREATE PROCEDURE GetClientId 
    @DealerCode varchar(10)
AS
BEGIN
    SET NOCOUNT ON
    SELECT ClientId
        FROM Client
        WHERE ClientCode = @DealerCode
END
-- this returns null if nothing is found, 
-- otherwise it returns ClientId in a ResultSet
Run Code Online (Sandbox Code Playgroud)

方法2:

CREATE PROCEDURE GetClientId 
    @DealerCode varchar(10),
    @ClientValue int out
AS
BEGIN
    SET NOCOUNT ON
    set @ClientValue = -1
    set @ClientValue = (SELECT ClientId
        FROM Client
        WHERE ClientCode = @DealerCode)
END
-- this returns -1 for ClientValue if nothing is found,
-- otherwise it …
Run Code Online (Sandbox Code Playgroud)

sql performance return resultset output

8
推荐指数
1
解决办法
4156
查看次数

标签 统计

output ×1

performance ×1

resultset ×1

return ×1

sql ×1