将一个控件的值保存到数据库比保存所有控件更好吗?

时间:2009-07-08 23:36:10

标签: stored-procedures

在我的职业生涯中,我偶然发现过几次并且从未真正找到答案。我的问题是关于包含用户可以更新的多个控件的Web表单,然后将数据保存到数据库(最简单的例子我现在可以想到的是用户配置文件表单 - 请参阅SO配置文件编辑屏幕)。 / p>

到目前为止,我一直只是将每个控件的值保存到数据库中。对我来说,使用一个调用一个存储过程的方法,传递所有页面的表单值似乎更容易。

我看到的页面似乎保存了单个控件的值,而不是整个控件集。它绝对可以看起来很好(如果页面通过AJAX进行),但它更好吗?我认为你需要更多的开销才能完成这项工作,例如一个(或多个?)DTO,更多方法和更多存储过程?

哪种方式更好?是否有任何关于如何完成个人控制方式的例子?

谢谢!

3 个答案:

答案 0 :(得分:0)

我通常建议使用个别控制方法;它提供了更大的设计粒度。

答案 1 :(得分:0)

更好地取决于你的意思。

“一种方法,存储过程” - 编写代码更快,更易于维护。 “保存个人控制的价值” - 更优化?我会优化到最后。看起来更好?可用性在这个页面上实际上是一个问题吗? YAGNI - 只有在性能/可用性被破坏时才能修复它们。

答案 2 :(得分:0)

一些想法

  • 这是对数据库的一次调用,无论是25列还是单列

  • (类似)如果您在一个编辑会话中更新6个控件,则可以在一个调用中执行,而不是在6个单独的调用中执行

  • 您可能拥有包含依赖或链接控件或不允许值组合的表单:一般情况下,在一个编辑会话中将进行“多个控件”更改:因此代码

  • 审核/时间戳的一般概念是在唯一的*行*级别,而不是列。