我正在尝试在后备Java bean中应用save方法,该方法将获取所选的表行并将其保存在数据库中。但是,让我们说用户稍微改变他的选择(在他的5个选择中改变1)。我想知道我将要应用的算法,如果它在长期效率方面是否重要......
在这里:
选择数字2是否优于选择1 .......或者选择数量不会超过15?
由于
答案 0 :(得分:1)
我肯定会选择选项2,尝试找出您需要执行的最少操作次数。
然而,在截止日期等情况下回退到选项1是相当正常的,因为它更容易实现。
但是,不应该更难以弄清楚变化是什么,因为在我看来你自己并没有改变行。您要删除已清除其复选标记的那些,或者您插入已设置复选标记的那些。只需存储数据库中任何内容的主键值列表,然后在用户想要保留更改时迭代新列表时与该列表进行比较。
这里的最小化工作解决方案也意味着您在重构,更改或添加方面会更加面向未来。例如,如果将来的数据附加到任何这些行,该怎么办?你也需要保留它。一般来说,我有点反对编写代码只是为了“假设”,但在这里我觉得它更像是“为什么你不......”而不是那个。
所以我的建议是选择2.没有更多的工作。