用于将所选表行添加到数据库的最佳算法

时间:2010-06-29 06:45:11

标签: algorithm

我正在尝试在后备Java bean中应用save方法,该方法将获取所选的表行并将其保存在数据库中。但是,让我们说用户稍微改变他的选择(在他的5个选择中改变1)。我想知道我将要应用的算法,如果它在长期效率方面是否重要......

在这里:

  1. 每次用户点击按钮(保存)时,我都会删除他之前的所有选择并将所有当前选项插入数据库
  2. 单击按钮后---查看用户取消选择哪些行并从数据库中删除它们的行并添加新行???
  3. 选择数字2是否优于选择1 .......或者选择数量不会超过15?

    由于

1 个答案:

答案 0 :(得分:1)

我肯定会选择选项2,尝试找出您需要执行的最少操作次数。

然而,在截止日期等情况下回退到选项1是相当正常的,因为它更容易实现。

但是,不应该更难以弄清楚变化是什么,因为在我看来你自己并没有改变行。您要删除已清除其复选标记的那些,或者您插入已设置复选标记的那些。

只需存储数据库中任何内容的主键值列表,然后在用户想要保留更改时迭代新列表时与该列表进行比较。

这里的最小化工作解决方案也意味着您在重构,更改或添加方面会更加面向未来。例如,如果将来的数据附加到任何这些行,该怎么办?你也需要保留它。一般来说,我有点反对编写代码只是为了“假设”,但在这里我觉得它更像是“为什么你不......”而不是那个。

所以我的建议是选择2.没有更多的工作。