我正在构建一个ASP.NET MVC应用程序。 我将为每个应用程序用户存储大量数据,因此我考虑为每个用户的数据分别使用DB。当然,所有DB在结构方面都是100%相同的。它们都应该来自某种主DB。 有人可以给我任何关于如何实现这一点的线索吗?
答案 0 :(得分:2)
由于很多原因,每个用户的数据库听起来很糟糕。如果数据或读/写很大,您应该考虑分片(将数据库拆分为基于主键的单独数据库,但不是每个主键的单独数据库)。
如果您使用的是SQL Server,只需稍加调整即可处理数十亿行 - http://www.sql-server-performance.com/2011/index-maintenance-performance/,以便对此进行良好的参考。
答案 1 :(得分:1)
除非您计划在每个表中处理数百万行的数百万用户,否则您不需要使用多个数据库。
MS Sql可以轻松处理表中十亿行的索引,并且仍能保持良好的查询性能。
使用多个数据库很可能只会引起麻烦。
也就是说,您应该设计scrips来创建数据库,然后更新脚本以更改它们,因为您必须将所有更改传播到所有数据库。
但我的建议是坚持使用一个数据库。如果你真的设法超出了你最有可能需要重新设计数据库结构:)