Thanks for the tips Nicolas, I'll give them a go. Steve, here's my DB structure for DSPAM:
dspam_preferences: uid smallint(5) unsigned PRI 0 preference varchar(32) PRI value varchar(64) dspam_signature_data: uid smallint(5) unsigned PRI 0 signature varchar(32) PRI data blob length smallint(6) 0 created_on date MUL 0000-00-00 dspam_stats uid smallint(5) unsigned PRI 0 spam_learned int(11) 0 innocent_learned int(11) 0 spam_misclassified int(11) 0 innocent_misclassified int(11) 0 spam_corpusfed int(11) 0 innocent_corpusfed int(11) 0 spam_classified int(11) 0 innocent_classified int(11) 0 dspam_token_data: uid smallint(5) unsigned PRI 0 token char(20) PRI spam_hits int(11) 0 innocent_hits int(11) 0 last_hit date 0000-00-00 dspam_virtual_uids: uid smallint(5) unsigned PRI NULL auto_increment username varchar(128) YES MUL NULL
