大型MSSQL数据库上字符串列的索引

时间:2018-05-18 05:54:13

标签: sql sql-server database-design

我必须设计一个数据库来存储一些生产过程测量数据。数据将从PLC收集。我想将这些数据存储在远程服务器上,所有机器都可以访问该服务器。我想存储以下数据:

  • 时间戳
  • 植物
  • 生产线
  • 工件编号
  • 测量单位
  • 测量类型

有些机器共享相同的测量类型,有些具有独特的测量类型。这是一个很好的解决方案,我会使measurement typeVARCHAR列,并让PLC程序员自由地命名新的测量类型,而无需我干预,在相关的外表中插入新条目并将它们交给它们新ids?独特测量类型的预期计数大约为100.此列上的索引是后续过滤和从此表中选择的解决方案,预计一年中将有大约500亿行? 表格的大小也可能成为一个大问题。

编辑:我是否还应将测量值和测量类型与其他表格分开而不是部分信息?

有没有办法,SQL服务器会负责将新的measurement type添加到某个内部表并处理这些ID?

希望我能充分解释我的问题,否则请在评论中写下问题。

此致

1 个答案:

答案 0 :(得分:1)

我想说创建一个新的表测量类型,如你所提到的那样,记录小于100,那么在这种情况下使Id列TINYINT也可以节省你的空间,并有助于创建索引。