2

我即将开始开发“时光机”" 对于 windows。我需要在一个表中存储很多记录。每次执行备份时,我都会写入大约 50,000 条记录,因为这就是我的计算机中有多少文件(每条记录与存储文件无关。记录将包含每个文件所在的路径)无论如何我不知道我是否可以使用 XML 来存储我的记录,因为我的查询不会很复杂,而且它更容易部署而不是在我不创建本地数据库的地方'不知道它是否会更有效,因为即使查询很简单,我也会处理大量数据。此外,我不知道本地数据库是否可以大于 2GB 和如果经常使用一年,我估计该数据库大约有 3 GB。

我更喜欢使用 XML 并使用 Xpath 进行查询,以便更轻松地部署我的应用程序。但是,如果创建本地数据库效率更高,并且由于记录太多,XML 会降低我的应用程序的速度,那么我将创建一个本地数据库。任何其他建议都会有所帮助,也许我需要做其他事情。

4

3 回答 3

6

看看SQLite

这是嵌入式但功能强大的数据库。您不需要安装 SQL Server 实例。
您可以将此数据库视为具有特定 API 的文件。API 允许您对此文件运行 SQL 查询。

于 2011-05-28T04:52:07.143 回答
2

SQL Server 2008 R2 Express允许最大 10GB 的数据库 - 因此考虑到您估计的空间需求,这可能值得考虑。

将数据存储在某种形式的数据库中比在 XML 中存储要好得多——因为后者会迅速增长到查询变得非常缓慢和占用大量内存的大小。

于 2011-05-28T04:52:08.327 回答
1

当您尝试访问数据时,使用 XML 存储大量数据将需要大量内存。在存储空间使用方面,它也不是很有效。我建议使用 SQL 版本。您可以使用 Microsoft SQL 的 Express 版本之一,也可以使用开源 SQL 风格,例如 MySQL。

当您考虑存储大量信息时,您需要查看关系数据库。如果您真的不想走这条路,您可以考虑将每个备份存储在其自己的 XML 文件中。这将允许更多的可移植性,并且在访问存档数据时会减少您的内存占用。

于 2011-05-28T04:59:27.397 回答