gpt4 book ai didi

.net - 我应该如何优化 .net 代码中对一个简单存储过程的多次调用?

转载 作者:行者123 更新时间:2023-12-02 20:21:34 25 4
gpt4 key购买 nike

我有一个非常简单的存储过程:

create procedure spFoo(v varchar(50))
as
insert into tbFoo select v

我有 50 个值要插入到 tbFoo 中,这意味着在我的 C# 代码中我调用了 spFoo 50 次。这是一种非常低效的方法,特别是如果我的程序和数据库之间存在一些滞后。

遇到这种情况你通常会做什么?

我正在使用 SQL Server 2008,但它可能不相关。

最佳答案

如果您的问题是尝试传入多行,那么从 SQL Server 2008 开始,您将拥有一个新的参数类型 Table-Valued 。它允许您通过结构化类型的 .NET SQLParamter 将 .Net 数据表直接传递到存储过程中。

tvpParam.SqlDbType = SqlDbType.Structured

但是,如果问题是您尝试填充 1 行中有 50 列,那么您最好将它们全部作为单独的参数传递并更改过程,而不是尝试使用代码或 T- SQL。

有一个很好的article演示了如何在 SQL Server 中以及通过 .NET 在 C# 和 VB.Net 中使用表值参数。希望这会有所帮助。

关于.net - 我应该如何优化 .net 代码中对一个简单存储过程的多次调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/629455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com