【问题标题】:Big database project on ASP.NET MVC [closed]ASP.NET MVC 上的大型数据库项目 [关闭]
【发布时间】:2017-09-16 12:00:13
【问题描述】:

我正在使用 ASP.NET MVC 开发非常好的项目,其中公司可以生成一些 pdf 文档、保存一些数据等。我已经有一个项目。 [不重要]

Programist 将添加具有一个 AdminUser 的公司,AdminUser[公司老板或类似的人] 将添加具有角色的下一个用户 - 'worker' 等。

所以有问题。我有超过 10 个表,一家公司可以在一个月内轻松地在每个表中创建 50 行。那么有什么更好的方法添加到几个表“CompanyId”并过滤所有内容,或者为每个公司创建一个包含 10 个表的新数据库?

首先,我想要大约 20 家公司。但接下来以 100-1000 家公司为例。

我认为第二种解决方案更好,但是怎么做呢?最后,你能指导我找到关于它的好书/文章吗?

【问题讨论】:

标签: c# sql asp.net-mvc database database-design


【解决方案1】:

在几乎所有情况下,您都希望将数据存储在一组 10 个表中。每月增长 50 行的负载在数据库中实际上不算什么。每月 50*10 行的负载真的不算什么。

为什么要将它们放在一组表中?

  • 您可以轻松地查询所有表,以了解整个您的业务发生了什么。
  • 您可以设置一次表格,然后忘记它们。
  • 您可以更轻松地更新软件和安装修复程序。您只需执行一次,而不是每个客户一次。
  • 您不会有不同客户端不同步的危险。
  • 表在数据量大时比在数据量少时效率更高。

在某些情况下,您可能希望为每个客户提供一个单独的数据库,并使用他们自己的一组表:

  • 安全限制要求您在物理上分离数据。
  • 每个客户端都有一个定制的应用程序,因此您希望不同的客户端使用不同的版本。
  • 客户端出于某种原因必须访问不同版本的数据库软件。
  • 出于性能原因,您需要确保可以分离客户端。

毫无疑问,双方都有更多的原因。这些只是我能很快想到的一些。

【讨论】:

  • 好的。但是现在每月 10*50 行 *20 家公司(未来 *300 家)有些公司很大,所以他们每月有 200 行*10 行,所以这是很多行。 Ofc 我只需要过滤剩下的 3 个表,它们是关联的。超过 9 个月的文件将被压缩,每月一次(作为 pdf 格式)并从数据库中删除。我想要可以快速过滤和响应的程序。如果我有这么多行,无论如何都会很快?
  • @Jackob 。 . .如果您每秒或每分钟说话,您可能会担心。每 个月 数万行不是问题。
猜你喜欢
  • 2013-09-10
  • 2016-05-30
  • 2010-09-25
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2012-06-17
相关资源
最近更新 更多