Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2020 release wave 1Discover the latest updates and new features to Dynamics 365 planned through September 2020
Release overview guides and videos Release Plan | Preview 2020 Release Wave 1 TimelineWatch the 2020 Release Wave 1 virtual launch event
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
I am a complete novice and am a Systems Administrator for our business. We have a very under performing CRM system that can take several hours processing just a few million rows in the generation of marketing lists.
My understanding is this:
At present we are using static lists heavily which is growing the size of our CRM database considerably. We have been told by our partners that we should be using dynamic lists however the list creation time is very large. However we find the time to execute more convenient from static than dynamic
My question is, In terms of query completion, should there much difference in running a dynamic vs static?
What also is the expected use case for each?
All help and hinters are hugely appreciated, no answer will be seen as patronising as am very new to this!
I don't think there is a separate table per static list - pretty sure there is just a single table of list members, though, of course, it's still a table.
As for the query completion time, it probably depends on the complexity of those criteria and on the overall amount of data you have in CRM.
But just out of curiosity, what is the size of the ListMemberBase table in your database? That's the one that stores all static list members.
Speaking on behalf of the OP (I'm a colleague), He misspoke on the topic of multiple list member tables, we're aware that the storage of mailing lists, is held within a single table.
That table is quite sizeable however (70m records) This has been caused by the operators not reusing their static lists for a prolonged period.
The queries themselves are non-complex; date ranges and distinct parameters(y/n), but the result sets can be fairly sizeable 450-900k in the most extreme cases.
In my opinion, the base contact table isn't that large (2m).
Is this a scenario that would mean poor performance of any list generation within Dynamics regardless of static/dynamic?
Static lists are stored in a table in CRM called listmember, but no actual information is really stored. It just contains the ids of the list and of the member (which can be contact, lead or account). All the information is basically retrieved from the actual entities, so I would not think that the size of your database would grow substantially just by adding Members to a Static list.
Dynamic lists story the fetchXml (query) in the list entity. Every time you want to access the members of that lists it executes the query and retrieves the members. This means new members do not have to be added to the list, they just have to fall within the specified criteria.
Saying that, you have to decide for each list what makes more sense.
If you list members for a particular list all fall within a specified criteria, it makes sense to make a Dynamic list.
If you list members do not have a common criteria, then it should be static.
Performance is the case of static vs dynamic for sending emails or other processing should be minimal. You are just running a query in both cases. One it retrieve from the list member entity and the other is retrieve from a fetch Xml query.
Hope this helps.
Thank you very much for your response. That's exactly the succinct answer i was looking for!
All The Best!
Business Applications communities