我的情景是根据具体情况而定的。我正在编写一个音乐库组织者/播放器,类似于iTunes、Windows Media Player和Winamp。我已经完成了所有ID3标签代码的编写,现在准备处理数据库。我发现,读取数据库、检查文件的MD5哈希值并将其与存储的哈希值进行比较,并在歌曲更改时更新数据库,比直接在每个歌曲的ID3标签上加载要快得多。所以,我刚刚建立了一个SQLite数据库。
现在我不确定应该将专辑封面存储在数据库中还是文件系统中。我有代码可以自动调整专辑封面大小为300x300像素,因此所有图片的文件大小通常在15-30 KB左右。这对于普通大小的图像和14.8 MB大小的图像都是正确的。因此,平均每张图片的大小约为22.5 KB。
这里是情境相关的部分;我需要决策在100首歌曲和20,000首歌曲的音乐库中都能高效运行。假设所有歌曲都有专辑封面,哪种方法更好:使用SQLite数据库还是NTFS文件系统,使用子目录实现更快的加载时间?
现在我不确定应该将专辑封面存储在数据库中还是文件系统中。我有代码可以自动调整专辑封面大小为300x300像素,因此所有图片的文件大小通常在15-30 KB左右。这对于普通大小的图像和14.8 MB大小的图像都是正确的。因此,平均每张图片的大小约为22.5 KB。
这里是情境相关的部分;我需要决策在100首歌曲和20,000首歌曲的音乐库中都能高效运行。假设所有歌曲都有专辑封面,哪种方法更好:使用SQLite数据库还是NTFS文件系统,使用子目录实现更快的加载时间?