我想在数据库中存储大量的声音文件,但我不知道这是否是一个好习惯。我想知道这样做的利弊。
我还考虑过为这些文件提供“链接”的可能性,但也许这会带来比解决方案更多的问题。欢迎任何这方面的经验:)
注意:数据库将是 MySQL。
最佳答案
我所知道的每个存储大量大文件的系统都将它们存储在数据库外部。您将文件的所有可查询数据(标题、艺术家、长度等)以及文件的部分路径存储在数据库中。当需要检索文件时,您提取文件的路径,在其前面添加一些文件根(或 URL),然后返回。
因此,您将有一个“位置”列,其中包含部分路径,例如“a/b/c/1000”,然后您将其映射到: "http://myserver/files/a/b/c/1000.mp3 "
确保您有一种简单的方法将媒体数据库指向不同的服务器/目录,以防您需要它来进行数据恢复。此外,您可能需要一个将数据库与文件存档内容重新同步的例程。
另外,如果您要拥有数千个媒体文件,请不要将它们全部存储在一个巨大的目录中——这对某些文件系统来说是一个性能瓶颈。相反,将它们分解为多个平衡的子树。
关于mysql - 在数据库中存储媒体文件的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/154707/