将数据保存到数据库的最佳方法

时间:2014-03-01 03:07:50

标签: c# asp.net sql-server performance stored-procedures

在决定将数据保存到数据库中的最佳做法时,我有点困惑。

1.在代码(C#)内执行各种数据操作操作,并使用单独的class文件和procedures将结果插入到多个表中,这些文件将保存到单个表中。 FK关系也会从代码(C#)中插入。在这种情况下,结果被正确煮熟并送入程序(每个表分开),这将保存每个表的数据。

2.在代码(C#)内执行各种数据操作操作,并使用单独的类文件和procedures将结果插入到多个表中,这将保存到单个表中。在这种情况下,结果与先前的情况一样正确地进行了烹饪,并被送到单个procedure,它将数据保存到多个表中,并处理FK关系映射。

3.将原始数据传递给procedureprocedure将在asp.net内执行各种数据操作,在数据准备好之后,它会将结果保存到表中。

如果考虑性能,是否有比上述更好的方法?

我是web applications开发人员,因此我需要最适合{{1}}的方法。

谢谢

1 个答案:

答案 0 :(得分:1)

DBA的回答:使用选项3,因为CRUD的所有业务逻辑都属于数据库。 App Developer回答:使用ORM类与数据库交互,因此我也可以加载平衡并控制该部分。 这是一场永无止境的辩论。 我一直使用存储过程来处理所有的逻辑选项,主要是因为我喜欢你可以完全改变数据库的事实,只要proc的输入和输出的签名没有改变就没关系。它还使DBA能够在proc中优化查询并使用参数化等等。但我确实理解我所做的一切都可以通过其他方式完成,这是对你的内容有什么意义的问题。数据库服务器正在做什么,以及应用程序正在对数据做什么,以及数据是什么....没有什么是黑白的