目前,我正致力于在应用程序级别进行分区的遗留系统。具有一百万行(例如)的行项目表将被拆分为两个表,以便每个表获得500,000,000行。我没有数据分区经验,所以我不确定这是否是正确的方法。我有两个问题:如果这是一种可以接受的方式,那么它如何与外键关系一起工作?如果这不是一种可接受的方法,那么如何在应用程序级别拥有分区逻辑。
if (LineItemID < 5000000) {
GetLineItemFromTableA();
} else {
GetLineItemFromTableB();
}
更新 - 通过简单的存储过程检索数据(从TableName中选择column1,2,3)。该数据用于报告和Web应用程序。