So, it seems in the SharePoint blogosphere that everybody just copies and pastes the same bullet points from other blogs. One bullet point I've seen is that SharePoint site templates are less efficient than site definitions because site definitions are stored on the file system. Is that true?
It seems odd that site templates would be less efficient. It's my understanding that all site content lives in a database, whether you use a site template or a site definition. A site template is applied once to the database, and from then on the site should not care if the content was created using a site template or not.
So, what is an architectural reason why a site template would be less efficient than a site definition?
Edit: Links to the blogs that say there is a performance difference:
- From MSDN: Because it is slow to store templates in and retrieve them from the database, site templates can result in slower performance.
- From DevX: However, user templates in SharePoint can lead to performance problems and may not be the best approach if you're trying to create a set of reusable templates for an entire organization.
- From IT Footprint: Because it is slow to store templates in and retrieve them from the database, site templates can result in slower performance. Templates in the database are compiled and executed every time a page is rendered.
- From Branding SharePoint:Custom site definitions hold the following advantages over custom templates:
- Data is stored directly on the Web servers, so performance is typically better.
At a minimum, I think the above articles are incomplete, and I think several are misleading based on what I know of SharePoint's architecture.
I read another blog post that argued against the performance differences, but I can't find the link.