哪个在C#XML或SQL中更快?

时间:2010-11-09 18:27:46

标签: c# sql xml

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

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

你会推荐什么?

5 个答案:

答案 0 :(得分:1)

如果您只想要阅读一些“设置”,我肯定会使用一个小的XML文件。我不能肯定地说它会更快,但鉴于你会消除建立连接,验证等的头脑,它肯定会更简单。

如果您可以使用LINQ to XML,那么它很容易实现。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

读取很多文件是很慢的,所以如果你有大量的xml文件,我会投票给SQL,特别是如果我们考虑你必须解析xml文件的事实,这会更复杂,更耗时,然后制作与DB的连接,特别是如果数据库在本地主机上:)

答案 3 :(得分:1)

这实际上取决于你需要什么。没有什么可以阻止你甚至组合这两个世界,因为XML可以很容易地存储在SQL Server中。

如果您想要实际拥有SQL Server的身份验证,备份,版本化等等,您可以轻松设计混合的XML,SQL,表解决方案。如果你真的需要一些propertyBag持久性区域文件是好的,但他们仍然需要关心,即。访问控制,当它不存在时要小心等等(读取文件仍然会引发很多异常,而且IT有一些很好的理由)。

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

  • 我是否需要版本历史记录
  • 我是读取所有参数还是仅读取部分参数 它?
  • 如果有人,我该怎么做? 更改条目?
  • 没有条目时该怎么办?
  • 是否需要可扩展(添加/删除新参数)?
  • 应该加密吗?
  • 数据库层需要了解它吗?

只是从我的头脑中想到了一些。 路加

答案 4 :(得分:0)

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