0

假设您在一个表中有一堆记录,而在另一个表中,您分析所有这些记录。以我的数学游戏数据库为例。它有两个表,用于记录所有原始数据(每种模式一个),以及两个相应的表,用于分析这两个原始数据表(仍然,每个模式一个)。两张分析表有5列,每个难度一列,列代表fastestTime、slowestTime、avgTime、percentAccuracy等数据。

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

//对不起,如果这看起来太模糊了,我现在不知道如何更好地表达这个问题......

4

1 回答 1

1

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

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

如果这是一个需要一些复杂计算的操作,那么我可能会想用 Java 代码来代替,但在这种情况下,你可能会分批进行,比如每 n 分钟一次。

于 2013-05-15T16:40:09.240 回答