我有一个表,该表存储指向金融交易表键的面包屑,以便准确跟踪给定批处理中包括哪些记录。金融交易表的键是两列的组合,一列是唯一的标头记录,另一列是序列号。
因此,我当前用作存档表的表具有如下结构:
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列吗?