每个分区使用不同的存储引擎

时间:2013-09-03 12:44:52

标签: mysql performance postgresql partitioning mariadb

我有大量历史性的“封闭”行 - 三个月的数据,可能是一个或两个太字节 - 以及少量的高流失“开放”行 - 最多3天的数据,但大多数行几分钟后,很可能会转变为“关闭”状态。

理想情况下,我希望将这些呈现给SELECT查询作为单个概念表。

但在幕后,我热衷于将'封闭'行划分为customer_id并进行积极压缩等等。对于“开放”行,在最终将它们移动到“关闭”状态之前,我可能需要连续几次更新它们。

如何分割数据?

  • MERGE表似乎只是myISAM
  • SPIDER和CONNECT是指多台服务器?
  • PARTITION不允许您指定引擎和每个分区的压缩,
  • 和SUBPARTITION无法在PARTITION基础上指定?
  • 和'closed'boolean必须在主键中?
  • 如果我有一个VIEW的两个表UNIONed,查询规划器是否会理解如何避免对所有表运行?
  • 分区加速触及多个分区的SELECT,例如工人并行?

或者这可以在不同的DBMS中有效地完成,例如的PostgreSQL?

1 个答案:

答案 0 :(得分:1)

我建议有两个单独的表,一个用于存档,另一个用于工作集。我不认为MySQL视图足够智能来优化它。它还可以让您完全控制架构,但会给您的应用程序带来负担。