【问题标题】:Multiple MDF FIles VS Single DataBase(SQL Server)多个 MDF 文件 VS 单个数据库(SQL Server)
【发布时间】:2011-04-20 16:06:31
【问题描述】:

我正在开发一个 web2 项目,我希望用户每天有数千行。 为了处理这种大小的数据,我设计了这样的数据库: 一个 .mdf 和 .ldf 文件作为 Minor Database 和 1 个 Major DB 用于保存和查询用户帐户和数据库文件地址。

我已经为这个计划工作了几个月,现在我可以轻松管理它。 我想知道处理大量独立数据是否是个好主意? 你认为女巫的表现更好吗?打开许多小的 .mdf 文件或只是一个巨大的数据库的连接。

之后我会将 mdf Repository 分成几台计算机。

所有这些都由 C# 和 linq (.net4) 处理

// 后面的说明

我制定了这个计划并且效果很好。 例如:打开每个小的 mdf 文件需要 1 秒的时间,并在 0.0 秒内查询它。它为每个连接设置静态时间,但在单个数据库中,50 行系统必须在例如 200,000 行中找到它们,并且在我的系统中使用带主键的简单选择查询大约需要 4-5 秒。

对于其他实例,我想在 500,000 行之间获取一行来绑定页面内容并在 200 万行之间选择 50 条评论,并获取每条评论的投票数、日、周、月和总计的查看次数。点赞数、cmets 的回答以及从 2-3 个其他表中获取更多数据,这种查询很繁重,并且比小型从数据库花费更多时间。

我认为一个好的设计和流程必须易于系统。

唯一的问题是带有 sql server 文件的小型从数据库需要更多的物理大小,每个数据库大约 3MB。

【问题讨论】:

    标签: c# asp.net sql-server linq


    【解决方案1】:

    没有理由将可能/应该作为单个数据库存在的内容拆分为多个独立部分。

    已经有将单个逻辑数据库分区到多个文件的机制:Files and Filegroups Architecture 以及 partition 大表(每天几千行并不真正符合大表的条件)。

    【讨论】:

    • 感谢您的帮助。我已经在这个应用程序上工作过。所以你认为最好重新开始,对吧?
    【解决方案2】:

    “每天数千行”应该是 Sql Server 的零花钱。

    首先,我投票赞成 Alex K 的答案。文件组将使您最有可能到达您想要的位置。分区表可能是多余的,并且仅在企业版中可用,不适合轻松。

    我要补充的是:

    http://www.google.com/#q=glenn+berry+dmv&bav=on.2,or.r_gc.r_pw.&fp=73d2ceaabb6b01bf&hl=en

    您需要调整索引。在“好”、“更好”和“最佳”类别中,Glenn Berry 的 DMV 查询“更好”。这些查询将帮助您解决大多数问题。 在“最佳”类别中是痛苦地查看每个存储过程,查看执行计划并尝试不同的事情。这就是优秀的 dba 能够提供的。

    以下是有关文件设置注意事项的一些“基础知识”。注意 TEMP 数据库设置。 http://technet.microsoft.com/en-us/library/cc966534.aspx

    【讨论】:

      【解决方案3】:

      很难管理小型 MDF 文件,你必须使用 SQL Server,SQL Server 数据库为每个数据库提供 10GB 的数据存储,这很容易

      【讨论】:

      • 感谢您的帮助。我已经在这个应用程序上工作过。所以你认为最好重新开始,对吧?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 2012-06-24
      • 1970-01-01
      相关资源
      最近更新 更多