2次调用或单次调用sql server

ama*_*eur 6 c# sql-server stored-procedures transactions

我在.net应用程序中有一个操作,它在2个不同的sql server表中创建一条记录.这里的最佳做法是什么?

一个存储过程是否应创建两个记录?或者不同的存储过程是否应在适用的数据库中创建每个记录并在事务中包装两个调用,如果一个失败,则两个都失败?

哪个性能更高?

Ara*_*ami 1

毫无疑问,存储过程的性能会更高。它还将减少您必须在服务器端编写的代码。缺点是,您现在需要知道如何自己编写 SQL,或者有一个与您一起工作的 DBA 可以为您编写 SQL。

关于您的其他问题,将有 1 个存储过程插入两个表中。

另一件需要考虑的事情是:如果您必须在整个代码中做大量类似的事情,那么学习一个好的 ORM 并在代码中完成这一切可能是值得的(选项 2)。但是,如果这是一次性的事情,您只在少数地方执行此操作,那么存储过程将是一种更明智的方法。