我目前正在开发一种管理订单和技术人员与服务之间通信的工具。工业背景是广播和电视。多个客户期望每个媒体文件都按照自己的规格制作,即使在单个客户订单的限制范围内,也意味着工作流程变化很大。
一个客户端可以要求一天获得单个SD文件,下一个客户端可以查询包含多达十四个文件的完整HD包...在MySQL数据库中我试图存储有关组成该文件的所有小任务的准确信息工作流程,有多种形式:
乘以30种不同的文件类型,这对单个表来说太过分了。所以我想我会被客户端分解:每个客户端一个表,这样任何订单只需要使用那个不会操作超过15个字段的表。尽管如此,当客户端有9种不同的转码规范并且特定订单只需要一个时,这是一个非常严格的解决方案。我想我需要为每个转码字段添加标志字段,以指示该特定订单所需的字段。
然后我有了这个疯狂的想法,也许我可以在订单运行时创建一个临时表(可以是大约1天到1个月)。我们很少同时运行超过25个订单,因此不会太拥挤。
我们的想法是为每个订单量身定制一个表格,不再需要标记和不必要的永久空字段。一旦订单完成,表格将被刷新,JSON编码,进入TEXT或BLOB,以便以后可以在需要更改时恢复。
您是否有过DBMS(特别是MySQL)的经验,如果它曾经存在过这种做法?这听起来像是一个可行的选择吗?我很高兴尝试(我已经开始),我正在寻求建议,以便继续前进或停在这里。
感谢您的投入!
答案 0 :(得分:1)
嗯,当然可以做到。但是,你不能使用MySQL临时表进行这样的长期存储,你必须使用“普通”表,并有一些清理程序......
但是,我不明白为什么单个表的数据量太多了。如果由于大量数据导致查询开始运行缓慢,那么您应该向数据库添加一些索引。我还认为还有另一个问题:稍后构建报告会更加困难,当你有25个具有相同类型数据的表时,你将需要运行25个查询并合并数据。
我真的没有看到这一点。相同类型的数据应该在同一个表中。