mysql - 有效地更新 mySQL 表?

标签 mysql performance computer-science database-administration

我正在寻找一些关于此处方法的一般性建议。

假设我的表格布局如下:

Name | 1hr  | 2hr  | 3hr  | 4hr
---------------------------------
Joe  | 23   | 12   | 45   | 9

时间是指一小时前。或者 3 小时前。我将每小时更新一次这些数据。我会用很多行来做这个。现在每次更新时,我都会将值向右移动。所以 1 小时变成 2 小时等等。然后 1 小时作为新的插入。

我的问题是,与其更新每个单元格然后插入新值,最有效的方法是什么?我将使用 Java 和 JDBC 来控制这些操作。

不过,我最初的想法是像对待圆形数组一样对待它。有一个额外的单元格来保存指向开始的指针。这将导致每次操作更新 2 次,而不是 4 次。

这是一个好方法还是有更好的方法?

最佳答案

更好的方法是存储另一个表:

Name | Time  | Value
--------------------
Joe  | 10:00 |  9
Joe  | 11:00 | 45
Joe  | 12:00 | 12
Joe  | 13:00 | 23

然后您不必任何来更新,您只需在要添加值时添加一个新行即可。

关于mysql - 有效地更新 mySQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777830/

相关文章:

algorithm - 如何修复此浮点平方根算法

mysql - 连接两个表并从一列返回多个匹配项的 SQL 查询?

mysql - 在缩减表上获取加入 MySQL 中的所有结果

php - 新闻提要数据库设计效率

asp.net - ASP.NET 性能瓶颈之谜

null - 没有NULL的类C语言?

MySQL 优化, "like"与 "="

MySQL无法创建带外键的表

performance - 我可以使用 Grails session 来存储整个域对象吗?

computer-science - 减少对简单表达式的操作次数