C# 特定于客户的数据库记录

C# 特定于客户的数据库记录,c#,asp.net,sql-server,sql-server-2008-r2,C#,Asp.net,Sql Server,Sql Server 2008 R2,我们现在拥有的: 1.SQL Server 2008 R2标准版 2.100张桌子 3. ~1000-2000个可编程性(存储过程、函数等) 我们的表中有5个包含适用于所有客户的全局信息。其余的表包含特定于客户的信息 因此,我们必须将Customer_Id添加到每个表中。一个客户在一个表中可以有超过100000条记录。 我们希望实现以下目标: 1.按客户分隔数据,以便他们可以通过导航到:http://Customer.ourApp.com 2.加快速度 最简单的解决方案是使用单独的数据库,但我不

我们现在拥有的:
1.SQL Server 2008 R2标准版
2.100张桌子
3. ~1000-2000个可编程性(存储过程、函数等)

我们的表中有5个包含适用于所有客户的全局信息。其余的表包含特定于客户的信息

因此,我们必须将Customer_Id添加到每个表中。一个客户在一个表中可以有超过100000条记录。
我们希望实现以下目标:
1.按客户分隔数据,以便他们可以通过导航到:
http://Customer.ourApp.com

2.加快速度

最简单的解决方案是使用单独的数据库,但我不喜欢这个想法,因为它有很多含义:
1.需要镜像全局数据
2.开发和发布时更难维护
3.更难建立新客户


可以研究哪些方法?有什么有趣的读物吗?有什么建议吗

我不明白你想干什么?对于#1,您可以编写一个网站(大概是在ASP.NET中)。对于#2,您优化了#1。你能更具体地说明你想要完成什么吗?为什么你要添加一个额外的数据库?似乎您可以通过使用必要的工具设置数据库来完成所有这一切relations@msm8bball,我们希望分离数据,因为性能会受到影响。因此,您正在从一个为单个客户设计的设计转变为现在需要支持多个客户?这就是为什么需要将Customer_Id添加到每个非全局表中?有多少顾客?还是已经为多个客户设置了这种方式,但您对性能不满意?@jugg1es,我们确实有关系,我们只是想避免数据混淆。当您可以将策略应用于所有表时,oracle也会执行类似的操作,或者称之为多租户体系结构