我正在构建一个 ASP.NET MVC 应用程序。我将为每个应用程序用户存储大量数据,因此我正在考虑为每个用户的数据设置单独的数据库。当然,所有数据库在结构上都是 100% 相同的。它们都应该来自某种主数据库。有人可以告诉我如何实现这一点吗?
问问题
196 次
2 回答
2
出于很多原因,每个用户的数据库听起来是个糟糕的主意。如果数据或读/写很大,您应该考虑分片(根据主键将数据库拆分为单独的数据库,但不是每个主键的单独数据库)。
如果您使用的是 SQL Server,只需稍作调整即可处理数十亿行 - http://www.sql-server-performance.com/2011/index-maintenance-performance/对此有很好的参考。
于 2012-05-18T14:03:25.163 回答
1
除非您打算在每个表中处理数百万行的数百万用户,否则您不需要使用多个数据库。
MS Sql 可以轻松处理具有良好索引的表中的十亿行,并且仍然保持良好的查询性能。
使用多个数据库很可能只会让人头疼。
也就是说,您应该设计脚本来创建数据库,然后更新脚本以更改它们,因为您必须将任何更改传播到所有数据库。
但我的建议是坚持使用一个数据库。如果您实际上设法超出了您很可能需要重新设计数据库结构的能力:)
于 2012-05-18T14:04:10.817 回答