【问题标题】:Downsize Growing Time-Related Mysql Table缩小增长时间相关的Mysql表
【发布时间】:2010-12-05 01:48:46
【问题描述】:

我们有一个数据库,其中包含与时间相关的数据。正如您可以想象的那样,它会随着时间的推移而增长(并减慢)。当前(本月)数据有 50% 的读取和 25% 的插入和 25% 的更新操作,旧数据的读取率为 100%。

  • 好消息是,旧数据 也变得不那么重要了。
  • 不好的是有时我们需要 查询从现在到现在的整个时间段 去年。

现在我想要一个 mysql 架构,它比旧的数据更快地为年轻的数据提供服务。

有没有办法在mysql中做到这一点?


发布脚本: 当然,当我们使用 ruby​​ on rails 和应用层中的活动记录时,我们可以轻松地重写活动记录基类以访问多个表并将旧数据移动到另一个表。但是因为我们也读过其他系统的查询,比如reporting,应该可以访问新旧数据,有时同时访问,我想在mysql上解决。

【问题讨论】:

    标签: mysql time-series


    【解决方案1】:

    MySQL partitioning 几乎是专为你制作的。它确实要求您使用 5.1。

    【讨论】:

    • 看来我们需要升级到 5.1
    【解决方案2】:

    我会将表拆分为(至少)2 个表,并将当前数据存储在一个表中,并将存档数据存储在另一个表中。然后使用 MySql 视图创建一个“虚拟”表,当需要所有数据时可以使用该表,否则直接使用实际表访问所需的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2015-04-12
      • 2013-01-24
      • 2014-07-07
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      相关资源
      最近更新 更多