表分区和映射如何工作?

时间:2018-12-30 23:24:12

标签: database database-design query-performance

我有一个包含一个关键表的数据库,该表被广泛使用和查询。该表中数据的生命周期分为两个阶段:Table1Table1_Hist,这样,一旦用户完成工作,记录就会从Table1传递到{{1 }}进行咨询和报告。

Table1_Hist的结构是

Table1

该表每月填充数百万条记录,传递给ID (Long) KEY, Priority (INT) val1 (VARBINARY(XXXX)) val2 (VARNINARY(XXXX)) 的记录没有特定的顺序,这意味着Table1_Hist可能今天在User1中插入一条记录,并且今天也完成了处理,但是Table1可能会在User2中插入类似的记录,并在下一周或下个月或3个月内完成处理。

Table1开始增长到影响该表查询性能的程度时,就会出现此问题。我想到了在Table1_HistTable1_Hist_1 ... Table1_Hist_2中拆分此表并创建一个Table1_Hist_n表Map,可以在其中注册ID的范围存储在每个表上。例如,我可能有一张地图,说IDs中存储着Table1_Hist_1,范围是1到10M,依此类推,但是就像我之前说的那样,没有顺序将记录插入这些历史表的时间,因此我可能有一个从1到10的映射指向表IDs,并且在Table1_Hist_1中也有一个记录ID = 3,因为ID = 3个在2个月后完成,并存储在下表中。

那么,有谁知道一种有效的方法来将一个表及其各自的映射拆分成多个表?

0 个答案:

没有答案