在SQL Server中归档垂直键表的最佳方法?

时间:2019-07-01 01:45:07

标签: sql-server

我有一个表,该表存储指向金融交易表键的面包屑,以便准确跟踪给定批处理中包括哪些记录。金融交易表的键是两列的组合,一列是唯一的标头记录,另一列是序列号。

因此,我当前用作存档表的表具有如下结构:

Id BIGINT IDENTITY(1,1) NOT NULL,
BatchProcessId INT NOT NULL,
HeaderId INT NOT NULL,
SequenceNumber INT NOT NULL

此表中存储的数据实际上仅是出于审计目的,不需要以有效的方式进行搜索。由于源金融交易表具有数亿行,并且该表可以容纳给定BatchProcessId的HeaderId \ SequenceNumber记录,因此它在垂直方向上的大小也非常快地增长。

所以我想我可以将其以某种格式的字符串形式存储在BLOB存储中或其他什么形式?有一个更好的方法吗?我可以存储BatchProcessId,然后将HeaderId / SequenceNumber组合展平为一个字符串,例如[1000,1] [1000,2] [1001,1] ...

然后,如果曾经需要审核数据,则可以使用一个函数来使数据垂直和可搜索。与仅垂直存储数据相比,此方法是否有好处?我正在尝试大幅减少表的大小。如果我也走那条路线,可以压缩BLOB列吗?

0 个答案:

没有答案