Caching database functoid and throttling
In case you haven't seen the Blogical.Shared.Functoids.ExecuteQuery, and the feature post at Mikael Håkanssons blog, it's a cache enabled database lookup functoid - a revised version of a functoid that we have successfully used on previous projects, available for download on codeplex. Caching can greatly increase the performance of any solution. However BizTalk caching, as with all caching, has to be done wisely and with moderation. So be sure to test (and monitor) thoroughly for memory saturation so that you don't hit throttling limits effectively bringing your BizTalk solution to a stand still. A good read that exemplifies the latter is this recent post by Yossi Dahan. Keep it in mind when using the functoid.