Improve performance when firing trigger for multiple contacts
When a trigger is triggered for multiple contacts (e.g. Activity is Added, Activity is Changed triggers) the same information is retrieved from the database for each invocation.
This takes some time, depending on the number of contacts. For a few contacts this is negligable but after a few thousand contacts it can get significant.
In this MR, caching is improved to eliminate these repetitive DB calls:
-
RuleDebugEnabled
property ruleConditions
- class names of conditions