2012-02-06 22 views
1

我有一个约10,000条记录的数据库。每个记录都有一个文本字段(大约200个字符)和大约30个数字字段。SQL Server数据库或XML,为asp.net应用程序选择什么?

该asp.net应用程序只做一些搜索和排序和显示网格中的数据。用户之间没有数据共享,只读操作(没有数据库更新),很少的计算。

我应该使用XML文件并使用Linq还是应该使用SQL Server数据库?请给我解释你的选择。

+1

10,000个记录的31个字段= 310,000个元素(不包括任何层次结构)。您可能(特别是在文件增长时)使用XML运行到内存问题。 – Tim 2012-02-06 05:07:21

回答

1

这真的取决于你的需求,问你自己下面的问题。

  1. 您的数据集是否会增加?
  2. 速度是你最喜欢的应用之一吗?
  3. 你打算运行复杂的查询吗?
  4. 数据模式是否会改变?

如果回答上面的大多数问题是'不',那么可以随意使用XML。 Sql提供了许多功能,主要用于数据存储和检索,而使用XML可以存储数据,但我认为它的主要用途是数据互操作性和交换。

如果数据集增加,那么SQL应该是一个选择,因为你可以在您的数据集上创建索引,这将提高数据检索速度,文件通常是连续读取的,因此对于临时数据搜索而言速度较慢。

3

我应该使用XML文件并使用Linq还是应该使用SQL Server数据库?

TOTAL非问题 - SQL。

的asp.net应用程序仅做了一些搜索和排序

对初学者SQL什么书“索引”是阅读起来。 XML文件没有 - 所以SQL数据库在排序和过滤方面效率更高。

+0

+1数据库不需要关闭,如果您想要避免完整的sql server版本的成本,那么SQL Server 2008 R2 Express现在应该足够绰绰有余,并且比XML快得多且可扩展。此外,如果您以后需要扩展超过XML的限制,则无需重新编写整个应用程序,前提是您一直使用SQL – Seph 2012-02-06 06:17:46

1

我想你会发现SQL更容易开发和维护。 XML在某些情况下非常棒,但我发现它在长期内经常会带来令人头痛的问题。

单从性能角度来看,很难说如果不知道查询和模式的细节,哪种方法会更好。但是,一般来说,SQL往往会赢,因为它是为搜索和排序而构建的,而XML不是。

对于这种大小的只读数据集,您可能能够在网络服务器端将全部内容读入内存中,并在那里进行搜索和排序。

相关问题