【发布时间】:2010-11-09 18:27:45
【问题描述】:
在 C# 中哪个更快:读取微小的 XML 文件或读取具有少量数据的微小 SQL 表?
我想知道是否真的有必要在SQL中创建一个表然后建立一个连接只是为了读取10或11个参数。
你会推荐什么?
【问题讨论】:
在 C# 中哪个更快:读取微小的 XML 文件或读取具有少量数据的微小 SQL 表?
我想知道是否真的有必要在SQL中创建一个表然后建立一个连接只是为了读取10或11个参数。
你会推荐什么?
【问题讨论】:
这真的取决于你需要什么。没有什么能阻止您将这两个世界结合起来,因为 XML 可以很容易地存储在 SQL Server 中。
如果您想真正获得 SQL Server 的身份验证,对其进行备份、版本控制等,您可以轻松设计一个混合 XML、SQL、表的解决方案。如果你真的需要一些propertyBag 持久区文件是可以的,但它们仍然需要小心,即。访问控制,当它不存在时小心等(读取文件仍然会引发很多异常,IT 这样做是有充分理由的)。
问自己一些问题,例如:我是否需要限制访问,我将如何报告更改(如果有),
只是我脑海中的一些想法。 卢克
【讨论】:
如果您只想阅读一些“设置”,我肯定会选择一个小的 XML 文件。我不能肯定地说它会更快,但考虑到您将消除建立连接、身份验证等的开销,它肯定会更简单。
如果你可以使用 LINQ to XML,那真的很容易做到。
【讨论】:
速度不是唯一的考虑因素。 XML 文件的管理开销不像 SQL Server 那样多。
如果文件是本地文件,使用直接文件读取肯定比网络 SQL 访问更快。你和数据之间的差距要小得多。其他 SQL 用法不会影响您的进程。
【讨论】:
读取大量文件很慢,所以如果您有大量 xml 文件,我会投票支持 SQL,特别是如果我们考虑到您还必须解析 xml 文件这一事实,这比制作更复杂且更耗时与数据库的连接,特别是如果数据库位于本地主机上:)
【讨论】:
基于 SQL 的方法:优点 易于迁移、配置 基于 SQL 的方法:缺点 连接可能断开,连接需要时间来建立,DB 管理员会想为什么有一个没有意义的小表,代码库变得不必要的复杂 基于文件的方法:优点 快速,无数据库开销 基于文件的方法:缺点 移民是个问题。配置是个问题。很容易被损坏。
【讨论】: