【问题标题】:mysql update multiplecolumns vs compare values in multiple rowsmysql更新多列并比较多行中的值
【发布时间】:2015-12-12 21:56:12
【问题描述】:

好的,这里讨论数百万行.. 类似的结构

示例 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 发生时间标记的总投票数 - 例如,当前时间标记

【问题讨论】:

  • 最好不要跨栏展开这些内容。

标签: mysql performance


【解决方案1】:

不,我会将它们保存在一个表中,因为那时我只需要触发一个 UPDATE 语句,但是如果将它们分成 2 个表,那么您将需要执行 2 个更新语句(或)创建一个 @ 987654322@ 插入到另一个表中(或)可能执行更新连接以更新两个表中的所有相应值,在我看来,这比将所有列都放在单个表中对性能造成的影响更大。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多