Todo sistema que conheço que armazena um grande número de arquivos grandes os armazena externamente ao banco de dados. Você armazena todos os dados que podem ser consultados para o arquivo (título, artista, duração, etc.) no banco de dados, juntamente com um caminho parcial para o arquivo. Quando é hora de recuperar o arquivo, você extrai o caminho do arquivo, acrescenta alguma raiz de arquivo (ou URL) a ele e retorna isso.
Então, você teria uma coluna "local", com um caminho parcial nela, como "a/b/c/1000", que você mapeia para:"http://myserver/files/a/b/c/1000.mp3 "
Certifique-se de que você tenha uma maneira fácil de apontar o banco de dados de mídia para um servidor/diretório diferente, caso precise para recuperação de dados. Além disso, você pode precisar de uma rotina que sincronize novamente o banco de dados com o conteúdo do arquivo morto.
Além disso, se você tiver milhares de arquivos de mídia, não armazene todos eles em um diretório gigante - isso é um gargalo de desempenho em alguns sistemas de arquivos. Em vez disso, divida-os em várias subárvores balanceadas.