我的情况取决于情况。我正在编写一个类似于 iTunes、Windows Media Player 和 Winamp 的音乐库管理器/播放器。我已经让所有的 ID3 标签代码都在工作,现在我已经为数据库做好了准备。据我发现,读取数据库、检查文件的 MD5 哈希值并将其与存储的哈希值进行比较并在歌曲更改时更新数据库比直接读取每首歌曲的 ID3 标签要快得多。 . 话虽如此,我刚刚启动并运行了一个 sqlite 数据库。
现在我不确定是否应该将专辑封面存储在数据库或文件系统中。我的代码可以自动将专辑封面重新调整为 300x300 像素,因此所有图片的文件大小通常在 15-30 KB 左右。这对于普通大小的图像和 14.8 MB 大小的图像都是如此。所以平均而言,我需要存储 22.5 KB 大小的图片。
这是取决于情况的部分;我需要决定在包含 100 首歌曲和 20,000 首歌曲的音乐库中保持高效。假设所有歌曲都有专辑封面,哪种方法更好:使用子目录的 sqlite 数据库或 NTFS 文件系统以加快加载时间