mysql update multiplecolumns vs比较多行中的值

时间:2015-12-12 21:56:12

标签: mysql performance

好的,在这里说几百万行.. 喜欢

的结构

示例1

some_data_before this| x_counter_total | y_counter_total | x_counter_week | y_counter_week | x_counter_year | y_counter_year
--------------------------------------------------------------------------------------------------------------------------------------
   some_data_here... | 42142142....... | `241242142..... | 23214124...... | .............. | .............. |` ..............

每个X和Y事件都会增加这些列与此

示例2

表A

some_data_before this| x_counter_total | y_counter_total |
----------------------------------------------------------
some_data_here...... | 42142142....... | `241242142..... | 

表B

  key_connected_with_table_A | x_event | y_event | occured_timestamp
 -------------------------------------------------------------------
 id 21...................... |  true   | false   |  current_timestamp

我的需要就是这个。我需要一段时间内的X和Y事件数,过去的日/周/月/年等。 我的问题是,更新(增加)描述我需要的时间段的多个列是否更好,如例1或更好 在每个事件上添加一行,如例2所示,然后计算具有相同ID的总投票数WHERE occured_timestamp - current_timestamo<以TIMESTAMP_OF_A_WEEK为例。哪一个更有效率?谈论数百万条记录,并在一分钟内发出数千条请求。

1 个答案:

答案 0 :(得分:0)

不,我会将它们保存在单个表中从那时起我只需要触发一个UPDATE语句,但是如果将它们分成2个表,那么你需要执行2个更新语句(或)创建要插入到另一个表(或)中的AFTER UPDATE TRIGGER可能会执行更新连接以更新两个表中的所有相应值,这对我来说看起来比单个表中的所有列更具性能。