【问题标题】:MySQL better practice, one big table or better divide to separate tables, using Java hibernateMySQL 更好的做法,一张大表或更好的划分为单独的表,使用 Java hibernate
【发布时间】:2015-08-11 09:22:05
【问题描述】:

我的目标是在 MySQL 数据库中存储足球、篮球、曲棍球等比赛。国家、联赛、主队、客队、结果等表格字段不受运动类型的依赖。我的预测是每种运动类型每天大约有 500 条记录。因此,一种运动类型每年大约有 500*365 ~ 大约 200 000 条记录。我的目标是存储 6 种运动类型。因此,如果我存储在一张表中,我每年将获得 1 200 000 条记录。更好的做法是创建一个带有字段 sport_type 的表 match,并在一个表中每年存储 100 万条记录,或者在 match_football 等单独的表中划分,每个表每年存储大约 200 000 条记录。

还有其他问题是我想使用 java 和 hibernate 来处理这些数据。因此,如果我很好理解如果我决定创建单独的表,我必须创建不同的 java 类作为具有某些字段的休眠实体。

【问题讨论】:

  • 你总是可以去几张桌子,但是当你推迟它时,制作报告等会容易得多。并且可以利用视图等来准备转换到单个表。假设是一个规范化的主表,而不是每个运动有几个相同的表。
  • 谢谢,我明白你的想法

标签: java mysql hibernate


【解决方案1】:

我建议:
1. 全部存储在一张表中
2. 分区表。您可以添加归档的年份或季度,并在该键上对该表进行分区。
3. 当你在里面搜索时,总是使用那个键作为条件
这是一个提示.. 进一步调查 chck http://www.chrismoos.com/2010/01/31/mysql-partitioning-tables-with-millions-of-rows

【讨论】:

    猜你喜欢
    • 2021-06-15
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多