【问题标题】:Which is faster in C# XML or SQL?C# XML 和 SQL 哪个更快?
【发布时间】:2010-11-09 18:27:45
【问题描述】:

在 C# 中哪个更快:读取微小的 XML 文件或读取具有少量数据的微小 SQL 表?

我想知道是否真的有必要在SQL中创建一个表然后建立一个连接只是为了读取10或11个参数。

你会推荐什么?

【问题讨论】:

    标签: c# sql xml


    【解决方案1】:

    这真的取决于你需要什么。没有什么能阻止您将这两个世界结合起来,因为 XML 可以很容易地存储在 SQL Server 中。

    如果您想真正获得 SQL Server 的身份验证,对其进行备份、版本控制等,您可以轻松设计一个混合 XML、SQL、表的解决方案。如果你真的需要一些propertyBag 持久区文件是可以的,但它们仍然需要小心,即。访问控制,当它不存在时小心等(读取文件仍然会引发很多异常,IT 这样做是有充分理由的)。

    问自己一些问题,例如:我是否需要限制访问,我将如何报告更改(如果有),

    • 我需要版本历史吗,
    • 我是读取所有参数还是只读取部分参数 是吗?
    • 如果有人,我需要做什么 更改条目?
    • 没有进入怎么办?
    • 是否需要可扩展(添加/删除新参数)?
    • 应该加密吗?
    • 数据库层需要知道吗?

    只是我脑海中的一些想法。 卢克

    【讨论】:

      【解决方案2】:

      如果您只想阅读一些“设置”,我肯定会选择一个小的 XML 文件。我不能肯定地说它会更快,但考虑到您将消除建立连接、身份验证等的开销,它肯定会更简单。

      如果你可以使用 LINQ to XML,那真的很容易做到。

      【讨论】:

        【解决方案3】:

        速度不是唯一的考虑因素。 XML 文件的管理开销不像 SQL Server 那样多。

        如果文件是本地文件,使用直接文件读取肯定比网络 SQL 访问更快。你和数据之间的差距要小得多。其他 SQL 用法不会影响您的进程。

        【讨论】:

          【解决方案4】:

          读取大量文件很慢,所以如果您有大量 xml 文件,我会投票支持 SQL,特别是如果我们考虑到您还必须解析 xml 文件这一事实,这比制作更复杂且更耗时与数据库的连接,特别是如果数据库位于本地主机上:)

          【讨论】:

            【解决方案5】:

            基于 SQL 的方法:优点 易于迁移、配置 基于 SQL 的方法:缺点 连接可能断开,连接需要时间来建立,DB 管理员会想为什么有一个没有意义的小表,代码库变得不必要的复杂 基于文件的方法:优点 快速,无数据库开销 基于文件的方法:缺点 移民是个问题。配置是个问题。很容易被损坏。

            【讨论】:

              猜你喜欢
              • 2011-12-08
              • 2023-03-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-09-15
              • 1970-01-01
              相关资源
              最近更新 更多