需要为我的应用程序保存很多记录……我应该使用本地数据库instad吗?

问题描述

| 我即将开始为Windows开发“时间机器”。我需要在表中存储很多记录。每次执行备份时,我都会写大约50,000条记录,因为那是我计算机中有多少个文件(每个记录与存储文件无关。记录将包含每个文件所在的路径)我不知道是否可以使用XML来存储记录,因为查询不会很复杂,而且比在不知道它是否会更有效的情况下创建本地数据库要容易得多因为即使查询很简单,我也要处理大量数据。而且,我不知道本地数据库是否可以大于2GB,并且我估计如果定期使用一年,该数据库将大约为3GB。 我更喜欢使用XML并使用Xpath进行查询,从而使部署应用程序更加容易。但是,如果事实证明创建本地数据库效率更高,并且XML会使我的应用程序变慢,因为我有很多记录,那么我将改为创建本地数据库。任何其他建议都会有所帮助,也许我需要做其他事情。     

解决方法

        看一下SQLite。 这是嵌入式但功能强大的数据库。您不需要安装SQL Server实例。 您可以将此数据库视为具有某些API的文件。 API使您可以对此文件运行SQL查询。     ,        SQL Server 2008 R2 Express允许最大10GB的数据库大小-因此,考虑到您估计的空间需求,这可能非常值得考虑。 最好将数据存储在某种形式的数据库中,而不是以XML形式存储-因为后者会迅速增长到这样的大小,使得查询将变得非常缓慢且占用大量内存。     ,        尝试访问数据时,使用XML来存储大量数据将需要大量内存使用。当涉及存储空间使用时,它也不是很有效。我建议使用SQL版本。您可以使用Microsoft SQL的Express版本之一,也可以使用MySQL等开源SQL版本。 当您要存储大量信息时,您需要查看一个关系数据库。如果您真的不想走这条路,可以考虑将每个备份存储在其自己的XML文件中。这样可以提供更多的可移植性,并且可以减少访问存档数据时的内存占用。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...