Performance: reconsider storing each email as an Activity
Storing each email as an Activity (again?) seems to be done in order to connect the sent Mandrill email back to CiviCRM. But this approach seems quite heavyweight in the DB (our client had a similar situation to #26 (closed), where otherwise normal CiviMail usage led to several GB of DB storage being consumed in a few months).
Various options present themselves:
- Use a more lightweight approach than creating Activities. Activities are useful and flexible, but generating a lot of them will incur penalties across various locations in CiviCRM (eg search, smartgroups, contact display) when the benefit may only relate to connecting CiviCRM and Mandrill.
- Append to existing data rather than duplicate. It seems with MTE extension that each email (Transactional or CiviMail) will lead to two Activities per send (and additional Activities per open, bounce etc), because CiviCRM already stores an Activity for each CiviMail or Transactional email. Storing the Mandrill ID in that record would be less cost.
- Reduce the data stored by the existing approach. CiviMail tables are known to be quite heavyweight due to their data profile (many records!), and replicating their normalised storage layout would probably be more lightweight than repurposing Activities for this.
This extension is labelled discontinued, so it's up to the user community to engage this. Opening this issue to get our experience & thoughts out in the open.