【问题标题】:Should a large static table go in separate database?大型静态表应该放在单独的数据库中吗?
【发布时间】:2016-11-19 14:55:59
【问题描述】:

我有一个 100MB 的 SQL Server 2012 表,包含 100 万条记录。这是一个静态查找表,每年最多更改一次。唯一的查询大于/小于两列以返回标量。它用于标准的 ASP.Net Web 应用程序、EF、IIS 等。我应该把它放在一个单独的数据库中吗?主数据库的备份会更小吗?有什么优点和缺点?就任何 EF Code First 的痛苦而言,我总是可以用 SQLQuery 来阅读它。

【问题讨论】:

  • 数据如此之少,我想您可以将其与应用程序本身一起分发,并将其全部加载到内存中。我以前做过,而且非常有效。您可能仍然希望将数据库作为“主”,并在构建时重新生成文件以与应用程序一起数据库中提供。

标签: c# asp.net sql-server entity-framework


【解决方案1】:

100 MB 不是很大,因此它对备份大小应该无关紧要。如果您担心以 MB 为单位的文件大小,那么是时候升级您的基础架构了。

不过,您的问题是正确的。数据库是备份和恢复的单位。

对于这么小的表,我会说只是将它保存在数据库中。这更简单,它使应用程序更简单,因为应用程序只需要处理单个数据库。此外,如果表确实发生更改,您将捕获更改而无需进行额外工作或创建意外错误。

如果表大小为 100 GB,那么您可能正在考虑使用另一个数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多