0

好的,我正在做一个关于 DTH 管理系统的项目。我正在使用 MySQL DB 和 Java GUI。问题是我必须制作数据库,以便每次添加用户时,都必须插入一组表(例如 30 天,每天一个表)以添加值。这个新表对所有用户都具有相同的格式,唯一的事情是列值会发生变化。这就像一个矩阵,其中顶部水平行用于计时,左侧垂直行用于频道名称,如果用户在晚上 9 点在频道 9 上观看节目,则单元格 (channel9, 9) 的值为 1,否则为 0。这必须为每一天完成。

我的问题很简单,你是怎么做到的!!其次,系统的负载是什么。在 GUI 中,不得崩溃或花费大量时间来访问数据。

有没有其他方法可以更轻松有效地做到这一点。

请帮忙。:)

4

1 回答 1

2

不动态创建表的原因:

  1. 你最终会得到孤立的表。例如,用户注册然后删除他的帐户。你怎么处理他所有的桌子?

  2. 架构会改变。你的桌子设计现在很好,但我保证你以后会想要改变它。如何自动更新 10,000 个表?(可以编写脚本,但不愉快。)

  3. 一切都有限度。我不知道 MySQL 的表限制可能是多少,但我猜如果活动不错,你会成功的。

  4. 重构将非常困难。如果你打到 1-3 并认为这是一个坏主意,那么这将需要相当长的时间来改变。

如果您绝对无法找到一种方法来存储您在 MySQL 中所拥有的内容……作为最后的手段,您总是可以将您的对象序列化为 JSON 之类的东西并将结果放入一个字段中。做起来非常快速和容易,不需要一百万张桌子。

于 2013-01-27T16:43:08.727 回答