view · edit · attach · print · history

The contents of this website are Copyright (c)2003 by Brian Manning <brian at antlinux dot com>. Please do not reuse any of the content on this website without permission from the author.

Project notes/todos for StreamDb:

  • Finish the user's guide. Write what's left of the user's guide in Composer (HTML), then convert it by hand to DocBook. Write in an 'upcoming enhancements' section that includes the TODOs below, as well as what's in the TODO file in CVS.
  • enable stream-db to use other backends besides MySQL. Ideally, PostgreSQL and SQLite support should be added, and the script re-written so it's database agnostic, you'd be able to plug in different databases with little/no hassle
  • have stream-db read the tables in the database on startup, so that you can detect what version of the SQL file is currently being used, and recommend an upgrade if the 'SKIP' field is not present.
  • add VERSION field to the database, and add an entry to the database for each SQL upgrade that is run against the database, so that future upgrades can tell what upgrades have been performed previously
  • create a drag-n-drop tool that can be used to help normalize the database; a normalized version of streeam-db can read in the existing database records, then re-structure the database and combine duplicate records for artist and album into one set of records. Then, each song can get it's own record, with relations back to the same artist/album. Aliases could also be used to create a relation between songs from a various artists album (soundtrack) and the original artist.

Trying to add an index to mp3main to speed up queries/searches...

 mysql> alter table mp3main modify filename varchar(75) NOT NULL;
 Query OK, 7601 rows affected (0.40 sec)
 Records: 7601  Duplicates: 0  Warnings: 0

 mysql> alter table mp3main modify filedir varchar(175) NOT NULL;
 Query OK, 7601 rows affected (0.40 sec)
 Records: 7601  Duplicates: 0  Warnings: 0

 mysql> create index mp3_idx on mp3main (filedir, filename, song_id);
 Query OK, 7601 rows affected (0.63 sec)
 Records: 7601  Duplicates: 0  Warnings: 0

Without index:

 real    10m15.188s
 user    0m6.120s
 sys     0m1.730s

With index:

 real    4m53.566s
 user    0m4.060s
 sys     0m0.710s
view · edit · attach · print · history
Page last modified on August 04, 2005, at 09:34 AM