我有一个相当大的xml文件(大于2mb),我正在解析它并将其存储在sqlite数据库中。我可以解析它并第一次存储它。我的问题是,当我想再次解析xml文件(用于更改、添加或删除)时,更新数据库。我最初的想法是清除数据库中的信息并再次插入而不是解析数据,检查数据库中是否已经存在给定的项并进行更新。有没有比其他方法更好的方法?会有这样或那样的表演吗?我希望你能考虑一下这件事。

最佳答案

是的,重新插入可能是个坏主意。XML结构有多复杂,当您查询结构所反映的一个项的存在性时,会涉及多少个表?
如果它很复杂,您可以创建条目的校验和或某些属性和值的哈希,这些属性和值唯一标识一条记录,并将此哈希/校验和存储在数据库中的一个额外表中,当您寻找修改过的条目时,只需计算哈希/校验和并在一个表中寻找它。也许这甚至使查询更快,这取决于散列计算的开销。

10-06 12:53
查看更多