Hi all,

Last week I decided to switch from postgresql to mysql to test differences in performance. I run a 400MB dbmail database on a single cpu PPro180. Postgres was ok, but sometimes performance was somewhat sub-par. Messages appeared empty in my message-pane, copy-to-sent on send failed most of the time, and more stuff like that.

Switching to mysql was totally painless. However performance sucked major. Switching from myisam to innodb only made things worse. My machine is resource poor in cpu and memory and the load rose from .5 running on postgresql to a sustained 6.0 :-(

Trying to switch back to postgres was a dead-end: the mysql2pgsql scripts in de dbmail package turned out to be less than perfect. Or was it my postgres installation. Importing data into postgres barfed whenever a messageblk contained a md5 hash complaining about illegal MULE_INTERNAL characters. Any one any clue ? I think nice, documented, clean migration procedures for mysql <-> postgresql would by a boon.

Being unable to move back to postgres I had to sweat it out. Not so much it seemed: adding a sloth of indexes to the main tables solved all performance issues I had. Using innodb I decided to add foreign key contraints, and dbmail now feels very snappy indeed. Load now hovers below 0.1 :-)

So my question to Roel, Eelco et et.: Why are those indexes not part of the create_table statements ? And why are foreign key contraints not part of the create_table statements for innodb and postgresql ?

regards,

--
  ________________________________________________________________
  Paul Stevens                                  mailto:[EMAIL PROTECTED]
  NET FACILITIES GROUP                     PGP: finger [EMAIL PROTECTED]
  The Netherlands________________________________http://www.nfg.nl

Reply via email to