高效地更新mySQL表?

高效地更新mySQL表?,mysql,performance,computer-science,database-administration,Mysql,Performance,Computer Science,Database Administration,我在这里寻找一些关于方法的一般性建议 假设我有一个如下的表格布局: Name | 1hr | 2hr | 3hr | 4hr --------------------------------- Joe | 23 | 12 | 45 | 9 小时是指一小时前。或者3小时前。我会每小时更新一次数据。我将用很多行来做这个。现在,每次更新时,我都会将值移到右侧。因此,1hr变为2hr,以此类推,然后将1hr作为新的插入 我的问题是,不是更新每个单元格,然后插入新值,而是这样做的最有

我在这里寻找一些关于方法的一般性建议

假设我有一个如下的表格布局:

Name | 1hr  | 2hr  | 3hr  | 4hr
---------------------------------
Joe  | 23   | 12   | 45   | 9
小时是指一小时前。或者3小时前。我会每小时更新一次数据。我将用很多行来做这个。现在,每次更新时,我都会将值移到右侧。因此,1hr变为2hr,以此类推,然后将1hr作为新的插入

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

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


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

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

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

然后,您无需执行任何更新操作,只需在需要添加值时添加新行。

每小时一次?甚至不用麻烦优化这个。除非你是Facebook的开发者,否则我会把它当作一个查看或选择查询。我不会不断更新数据。它的成本很高,而且似乎没有必要。也许您可以对此进行规范化,并为每个小时创建一个单独的记录?您应该阅读第二列应该是DateTime,否则仍将涉及
更新
删除