> I suppose you have a table memberships (user_id, group_id) or something
> like it ; it should have as few columns as possible ; then try regularly
> clustering on group_id (maybe once a week) so that all the records for a
> particular group are close together. Getting the members of a group to
> send them an email should be faster (less random seeks).
It is like this, and some more bookkeeping data which must be there...
we could split the table for smaller records or for updatable/stable
fields, but at the end of the day it doesn't make much sense, usually
all the data is needed and I wonder if more big/shallow tables instead
of one big/wider makes sense...
Regularly clustering is out of question as it would render the system
unusable for hours. There's no "0 activity hour" we could use for such
stuff. There's always something happening, only the overall load is
smaller at night...
Thanks,
Csaba.