【发布时间】:2013-05-06 03:02:08
【问题描述】:
我正在尝试构建一个包含大量记录的数据库,每个记录都有很多列(字段)——所有表总共可能有大约 200-300 个字段。假设几年后我将拥有大约 40.000.000 到 60.000.000 条记录。
我计划对数据库进行规范化,所以我将有很多表(大约 30-40 个)-> 和很多查询连接。 数据库将与美国严格相关,这意味着查询将仅基于 50 个州(如果进行查询,则不允许在多个州进行搜索/插入/等,而只允许一个州)。
我可以做些什么来获得更好的性能?
有人提出将所有状态保存在不同表结构中的想法,这意味着我将有 50 个表 * 30-40 个用于数据(大约 200 个表)!我是否应该考虑这种方法?
下一个想法是使用基于美国 50 个州的分区。这个怎么样?
还有其他方法吗?
【问题讨论】:
-
使用分区,再想想表中的200个字段,肯定应该归一化。
-
@rMX,我认为 200-300 列超过 30-40 个表,因此平均每个表 5-10 列。
标签: mysql performance database-partitioning large-data