Hi,

I've been looking through ways of optimizing our dbmail setup. Other
than rearranging the indexing and reducing the number of queries, I was
thinking about moving some of the temporary tables over to the mysql
heap(memory) engine type instead of myisam/innodb since the content of
these tables aren't permanent and only used short term.

If these tables were in memory it should remove some database i/o
overhead from the dbmail-smtp/pop3/imap process.

The only down side I can see to using heap is that it doesn't support
auto-increment and database data is lost on restart, other than that
might make a slight improvement on speed for busy setups.

Lots of the tables seem to contain a unique index on a primary key,
which seems a bit odd since a primary key needs to be unique by default.
A primary key alone should be fine? 


In some cases messages table has a primary key, key and unique index all
on the same row (again surely only a primary key is needed?). Such as
the users table there are the following:

   PRIMARY KEY (user_idnr),
   KEY user_idnr (user_idnr, userid),
   UNIQUE useridnr_2 (user_idnr, userid),
   UNIQUE userid_2 (userid)

Surely just PRIMARY KEY (user_idnr, userid) should do fine?

I'm by no means a database expert, but just looking towards ways of
helping dbmail scale better.

Does anyone have any thoughts on this?

Simon

Reply via email to