Xml或Sqlite,何时为数据库删除Xml?
我真的很喜欢Xml来保存数据,但是什么时候sqlite / database成为更好的选择?例如,当xml具有多于x个项目或大于y MB时?
我编码一个rss阅读器,我相信我错误的选择使用xml在sqlite数据库存储所有订阅源项目的缓存。有一些feed有一个?1mb一个月的xml文件,另一个有700多个项目,而大多数只有?30项,几个月后大小约50kb。 我目前没有计划实施上限,因为我喜欢能够搜索一切。 所以,我的问题是: >什么时候sqlite /数据库的开销通过使用xml? 更新(更多信息) 每次在GUI中选择一个订阅源时,我会重新加载来自该订阅源xml文件的所有项目。 我还需要修改读/未读状态,当我循环遍历xml中的所有节点,找到该项,然后将其设置为读/未读似乎真的hacky。
我基本同意
Mitchel,这可以是高度具体取决于你将使用XML / sqlite做什么。对于你的情况(缓存),在我看来,使用sqlite(或其他嵌入式dbs)更有意义。
首先我不认为sqlite将需要比XML更多的开销。我的意思是开发时间开销和运行时开销。只有问题是你有依赖sqlite库。但是因为你需要一些XML库,无论如何它没有关系(我认为项目是在C/C++)。 sqlite对xml的优点: >一切都在一个文件, sqlite的缺点: >可能有问题与多个进程访问相同的数据库(可能不是你的情况), 其他的东西在两个解决方案可能。 总结一下,你的问题分别回答: >你不会知道,除非你用两个后端测试你的具体应用程序。否则它总是只是一个猜测。对这两个缓存的基本支持不应该是代码的问题。然后进行基准和比较。>由于XML文件的组织方式,sqlite搜索应该总是更快(除去一些角落的情况下,它不重要,无论如何,因为它的速度快)。加速搜索XML将需要索引数据库,在你的情况下,这意味着缓存缓存,不是一个特别好的主意。但是使用sqlite,您可以将索引作为数据库的一部分。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |