我有小时表来存储商店中的交通/人员,行动/人员指示,访问区域等,以及这样的结构:
密钥将是商店,日期,时间。列数最多可达2000,3000等,属于我们想要收集的信息数量。据我所知MySQL有限数量的列(InnoDB表),我不想转换为MYISAM,尽管它可以达到2000列。
问题是:表格结构是好的还是我需要使用其他方式来存储数据。
例如:
1.将此(tbl_data_hour)拆分为2表
2.或者我必须使用其他数据库服务器来做它,MS SQL(也限制列)或Amazon DynamoDB,我的要求是无限列表。
3. ...
答案 0 :(得分:1)
那种表结构通常非常糟糕;一个更好的解决方案是拥有另一个areas
表,每个区域都有行;和store_areas_stats
表,其中包括:store_id
(引用商店表),area_id
(引用区域表)和area_count
(?)& area_time
(代表您为每个商店区域存储的数字)。
编辑:看起来你所展示的表更像是store_stats表本身;我上面建议的store_areas_stats
应该引用该表,而不是store表;这意味着您应该在您显示的表格上放置一个主键(自动增量)。