|
I have been writing an app in order to archive all my media (primarily MP3's) into a SQL server database on another machine. then to return them as quickly as possible using various search techniques
i have written up to a complete database
process being
1.) build up string[] of files using directory.getFiles 2.) build up object MP3 using 3rd party Taglib dll by passing string 3.) create List<MP3> from each 4.) passs List<MP3> to SQL
this works brilliantly and i run it multithreaded in order to stop not responding problems
now the next part im going to create a UI in order to search and launch each file (much like a media centre) however i am primarily concerned with the speed of search.
i will be searching for artist, genre, album and track name
some specs
mp3 table contains ID , filename , extension , pathstring , Artist , Album , Track , Genre , artistID , AlbumID , Genre ID
then have Genre , Artist , Album tables
containing ID Description
that links to MP3 table
MP3 table is about 15000 rows Long
now because i'm primarily concerned with speed i was wondering
is it best to run straight against SQL (bearing in mind its on another box that is about 6 years old) or would it be best to build some lists on app load (memory usage is not an issue) therefore searching against the lists and not against SQL
|