我正在为我们期望有很多行(超过 100 亿行)的表做一些表设计实验。马上想到的一些事情:
- 在我所说的“高”表方法中,每一行将有大约 25 种“类型”中的一种,以及对应于该类型的值。我应该把它变成一种“宽方法”吗?单行包含每个类型的值的 NULLable 列?从可维护性的角度来看,这不是一个很好的方法(如果我必须添加更多“类型”怎么办),但我更关心性能,尺寸是次要考虑因素。
- 行将有一个日期时间戳(可能是一个小的日期时间,因为我只需要分钟)。我听说在表格中使用整数表示日期时间而不是日期时间本身可能会更好。我希望这个日期时间将在查询中大量使用(甚至可能在某种程度上它是聚集索引的一部分)。
我主要关心的是查询性能,然后是大小。大量数据将被转储到表中,但不会发生太大变化或增长(可能是每天或每月更新,但不会有很多更新,也不是任何我认为是事务性的)。