On Sep 20, 2007, at 12:56 PM, Rick Widmer wrote:
If I remember right, speed was the reason for separate tables, but
testing showed it was not faster. I think the single table works
better because all your mail users are accessing the same table,
and its indexes so they stay loaded all the time. If you use
separate tables it is always thrashing the cache as different files
need to be accessed.
If we were really looking for speed, we could move to a "ng" (next
generation) table format that was more relational. Provide tools to
migrate from the old to the new for those people who only access the
data through vpopmail's APIs. Continue to support the old method for
people who have home-grown apps that access the data.
The domains should be in a table of their own, and the users table
should index the domains table. Having an index in the users table
on an int (and the resulting size savings) would be measurable.
The biggest change would be updating the selects and inserts in the
code. Not a huge change -- just a join between the tables.
Something to consider, and perhaps discuss further (on this list or
Tom Collins - [EMAIL PROTECTED]
Vpopmail - virtual domains for qmail: http://vpopmail.sf.net/
QmailAdmin - web interface for Vpopmail: http://qmailadmin.sf.net/