我在我的 .net 应用程序中有一个操作,它在 2 个不同的 sql server 表中创建一条记录。这里的最佳做法是什么?
一个存储过程应该创建两条记录吗? 或者 是否应该使用不同的存储过程在适用的数据库中创建每条记录并将两个调用包装在一个事务中,以便如果一个失败,则两个都失败?
哪个性能更好?
最佳答案
毫无疑问,存储过程的性能会更高。它还将减少您必须在服务器端编写的代码。缺点是,您现在需要知道如何自己编写 SQL,或者让与您一起工作的 DBA 为您编写 SQL。
关于您的其他问题,将有 1 个存储过程插入到两个表中。
另一件需要考虑的事情:如果你必须在整个代码中做大量这样的事情,那么学习一个好的 ORM 并在代码中完成这些可能是值得的(选项 2)。但是,如果这是您只在少数几个地方做的一次性事情,存储过程将是一种更聪明的方法。
关于c# - 2 次调用或一次调用 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13850921/