We have been refactoring some elements of our SharePoint HR solution in terms of improving the performance of reading data from SharePoint lists (thousands of items).
I’d like to share few “bottlenecks” we faced and their solutions.
1. ViewFields property of SPQuery
There are a lot of recommendations to use SPQuery.ViewFields property to limit the set of fields returned by your query.
However, sometimes it is ignored when you need to read all the fields you have created.
We recommend defining this property anyway as far as SPQuery would read a number of internal fields, which you probably do not need.
So in our case defining all our custom fields in combination with ViewFieldsOnly = True gave the significant performance improvement.
2. SPUser field
User field is quite useful and popular when designing custom lists. However creating an SPUser object based on a field value takes very long time.
The good news that in a lot of cases (like our) you do not really need a full SPUser object, but UserID or User Name only.
User field contains a value similar to a Lookup (like, “1;#John Smith”).
So instead of creating SPUser object, we just parsed that string and took ID and Name we needed.
Again significant performance improvements…
3. Lookups with additional fields.
The great new feature of SharePoint 2010 is the ability to “map” additional fields when creating a Lookup field. However that brings additional overheads when you read such data.
We had a list with 4 lookups and 2 of them had additional “mapped” fields.
Reading only 2000 items have been taking a lot of time
That’s a mystery how SharePoint treats that internally, however deleting of only one lookup with an additional field decreased the reading time about 5 times.
Recommendation that is difficult to follow J but try to minimize lookup fields and especially mapping additional fields.
There are not any world-shaking discoveries, however still the practical recommendations, which would probably help you.
I’d like to share few “bottlenecks” we faced and their solutions.
1. ViewFields property of SPQuery
There are a lot of recommendations to use SPQuery.ViewFields property to limit the set of fields returned by your query.
However, sometimes it is ignored when you need to read all the fields you have created.
We recommend defining this property anyway as far as SPQuery would read a number of internal fields, which you probably do not need.
So in our case defining all our custom fields in combination with ViewFieldsOnly = True gave the significant performance improvement.
2. SPUser field
User field is quite useful and popular when designing custom lists. However creating an SPUser object based on a field value takes very long time.
The good news that in a lot of cases (like our) you do not really need a full SPUser object, but UserID or User Name only.
User field contains a value similar to a Lookup (like, “1;#John Smith”).
So instead of creating SPUser object, we just parsed that string and took ID and Name we needed.
Again significant performance improvements…
3. Lookups with additional fields.
The great new feature of SharePoint 2010 is the ability to “map” additional fields when creating a Lookup field. However that brings additional overheads when you read such data.
We had a list with 4 lookups and 2 of them had additional “mapped” fields.
Reading only 2000 items have been taking a lot of time
That’s a mystery how SharePoint treats that internally, however deleting of only one lookup with an additional field decreased the reading time about 5 times.
Recommendation that is difficult to follow J but try to minimize lookup fields and especially mapping additional fields.
There are not any world-shaking discoveries, however still the practical recommendations, which would probably help you.
SharePoint Online delivers the powerful features of SharePoint without the associated overhead of managing he infrastructure on your own. Flexible management options ensure that you still retain the
ReplyDeletecontrol you need to meet the compliance requirements of your organization. You can purchase SharePoint in the cloud as a standalone offering or as part of an Office 365 suite where you could also get access to Exchange, Lync, the Office clients and web apps.
Sharepoint developer
Sharepoint Site
Sharepoint Services
Sharepoint Designer
Sharepoint Consulting
Sharepoint Server
SharePoint Online delivers the powerful features of SharePoint without the associated overhead of managing he infrastructure on your own. Flexible management options ensure that you still retain the
ReplyDeletecontrol you need to meet the compliance requirements of your organization. You can purchase SharePoint in the cloud as a standalone offering or as part of an Office 365 suite where you could also get access to Exchange, Lync, the Office clients and web apps.
Sharepoint developer
Sharepoint Site
Sharepoint Services
Sharepoint Designer
Sharepoint Consulting
Sharepoint Server
Thx for your advice's, I'm really glad that y write about this things, cause, I have dissertation work on this theme.
ReplyDeleteBest regards
Toby, secure virtual data room
I hope this SharePoint is a new technology. Thanks for making awareness about SharePoint.
ReplyDeleteThis comment has been removed by the author.
ReplyDeletedue diligence report is one of those terms that you may comprehend superficially yet don't have the foggiest idea how to try it. We should find out about due constancy and how to utilize it in a true setting.
ReplyDeleteGood custom box design that help manufacturers to publish brand and publicity product.
ReplyDeleteIf you are looking for a best quality Packaging products the visitCustom Design Boxes in Autralia
ReplyDeleteGood sharing with all of you and great informative related to custom packaging all types of meterials or all types of services provide us.
ReplyDeletecustom boxes with logo
laser dentistry is the utilization of lasers to treat various distinctive dental conditions. It turned out to be industrially utilized in clinical dental practice for techniques ...
ReplyDeletehow to stay motivated to lose weight Also, for more weight lose tips, consider the 20 Science-Backed to Motivate Yourself to Lose Weight. 1. Have a protein-substantial breakfast.
ReplyDeleteI read your whole content it is really helpful for me and others. the points you described above about
ReplyDeleteproperty CAR MAGIC is very useful. After reading this point I am blessed to have this blog. I appreciate your work and knowledge. I will
recommend this content to others, further people will get the advantage. Thanks!