C# 这是在应用程序级别对数据进行分区的正确方法吗?
目前,我正在开发一个在应用程序级别进行分区的遗留系统。例如,一个有一百万行的行项目表被分成两个表,这样每个表就有50000000行。我没有数据分区的经验,所以我不确定这是否是正确的方法。关于这一点,我有两个问题:如果这是一种可以接受的方法,它将如何处理外键关系?如果这不是一种可以接受的方法,那么如何在应用程序级别使用分区逻辑呢C# 这是在应用程序级别对数据进行分区的正确方法吗?,c#,sql,sql-server,partitioning,C#,Sql,Sql Server,Partitioning,目前,我正在开发一个在应用程序级别进行分区的遗留系统。例如,一个有一百万行的行项目表被分成两个表,这样每个表就有50000000行。我没有数据分区的经验,所以我不确定这是否是正确的方法。关于这一点,我有两个问题:如果这是一种可以接受的方法,它将如何处理外键关系?如果这不是一种可以接受的方法,那么如何在应用程序级别使用分区逻辑呢 if (LineItemID < 5000000) { GetLineItemFromTableA(); } else { GetLineItemF
if (LineItemID < 5000000) {
GetLineItemFromTableA();
} else {
GetLineItemFromTableB();
}
更新-通过一个简单的存储过程从TableName中选择column1、2、3来检索数据。数据用于报表和web应用程序。我们可能需要知道您如何检索数据,以及检索数据后要做什么。为您添加了更多信息…谢谢,我想知道系统是否在最后检索所有1m记录?还是只需要处理500K记录?使用ADO.NET从SP检索数据?为什么需要在应用层处理外键?IMO,如果您检索报告的数据没有排序,在应用层进行过滤,我建议您在SP中进行分页。我们可能需要知道您如何检索数据,以及检索数据后要做什么。为您添加了更多信息…谢谢,我想知道系统是否在最后检索所有1m记录?还是只需要处理500K记录?使用ADO.NET从SP检索数据?为什么需要在应用层处理外键?依我看,如果您在应用程序层中检索报告的数据没有排序、过滤,我建议您在SP中进行分页