哪种方法更适合更新数据库?

时间:2013-05-15 16:32:35

标签: java sql derby

假设您在表中有一堆记录,而在另一个表中,您可以分析所有这些记录。以我的数学游戏数据库为例。它有两个表用于所有原始数据,即记录(每个模式一个),以及两个相应的表,用于分析两个原始数据表(仍然是每个模式一个)。两个分析表有5列,每个难度一列,列表示最快时间,慢速时间,平均时间,百分比精度等数据。

当然,更新这两个表有两种选择。第一个是每次更新记录表时只使用嵌套的SQL查询。第二个是,因为这一切都发生在Java中,在数据进入数据库之前获取数据的属性,然后通过这些数据和ResultSet计算新的最快时间,慢速时间,平均时间等。是我们正在尝试更新的分析表。您认为哪种更便宜的更新表格以及为什么?

//对不起,如果这看起来太模糊,我只是不知道如何更好地说出问题....

1 个答案:

答案 0 :(得分:1)

如果它必须在整个表上执行一个操作,比如MAX(time)或其他什么,那么肯定会在数据库中执行,因为它会更快。

我认为Derby支持触发器。 http://db.apache.org/derby/docs/10.1/ref/rrefsqlj43125.html

如果这是一项需要进行复杂计算的操作,那么我可能会尝试用Java代码来做,但在这种情况下,您可以批量执行,例如每n分钟。