您好我正在尝试为我的应用程序创建一个简单的音乐库,该库使用sqlite存储有关文件的信息。我想知道当组成库的文件发生变化时如何更新我的数据库。
我想弄清楚是否需要更新数据库的一种方法是计算构成库的文件数量与数据库中的文件数量。如果有成千上万的文件,这种方法似乎需要花费很多时间。有更好的方法吗?
如何“更新”我的数据库而不实际再次浏览每个文件,获取艺术家,专辑等文件信息,并将其与我的数据库进行比较,以查看是否需要添加或删除文件来自数据库?
答案 0 :(得分:0)
您可以使用多种技巧。
检查文件的时间戳(包括创建和修改)通常可以让您了解需要对数据库进行哪些更新(如果有的话)。
您还可以提醒用户可能的更改,并根据检测到的更改类型询问他们是否要重新扫描。遍历子目录并处理几千个文件可能不会花费你想象的那么多时间。
重新扫描文件时,您不需要将其与数据库中的现有记录进行比较。只需执行SQL UPDATE即可完成。如果您还不熟悉SQL,我建议您研究并试验网络上可用的一些示例语句。请记住,如果为每个扫描的文件执行单个SQL事务,则需要相当长的时间。