【问题标题】:Which method is better for updating database?哪种方法更适合更新数据库?
【发布时间】:2013-05-15 16:32:34
【问题描述】:

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

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

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

【问题讨论】:

    标签: java sql derby


    【解决方案1】:

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

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

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

    【讨论】:

    • 平均时间的表是通过数据库操作创建的。我正在谈论将更多条目写入这些表并将数据条目写入记录本身。但是这篇文章有帮助,所以我会投票赞成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    相关资源
    最近更新 更多