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.
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!
nice blog
ReplyDeletehttp://spectraforceuae.com/index.php/services/manpower-services
Great Post!
ReplyDeleteCheck the page, "http://spectraforceuae.com/"
I recommend that you use a specialized tool to check your essays. Essay revisors is a simple and easy to use tool that helps you find errors in your essays. The tool is easy to use and all you have to do is add your essay to it for review. After checking, you will be able to see all the mistakes you made and correct them!
ReplyDeleteHello! We have created a useful list for you which consists of 20 best text paraphrasing tools. These helpers do a great job of removing plagiarism in your text and making it look high quality and professional. You no longer need to waste your time on this. Test our paraphrasing service free now!
ReplyDeleteHello! If you have been looking for a tool that would contain many functions for checking text for a long time, then you should pay attention to our assistant! This handy online tool has already been tested by many students and has gained confidence as the most functional and accurate tool for checking text. Plus it's free! >> complete sentence checkers for free
ReplyDeleteClaws Custom Boxes has a team of experts offering the best services to brands in form of exceptional, durable, and eco-friendly Cereal Boxes.
ReplyDeleteYour blog packs a punch in just a few sentences. Your words are like gems. Thank you for sharing this! A quick, delightful read that left me inspired.family lawyer cost .
ReplyDeleteThe divorce process generally begins with the filing of a divorce petition with the court in the county where one of the parties resides. This petition should include detailed information about the reasons for the divorce, as well as any requests related to child custody, child support, alimony, and the division of marital assets and debts. proceso de divorcio Nueva Jersey
ReplyDeleteSharePoint list performance is crucial for efficient data management and user experience. To optimize performance, consider the list structure, indexing columns, views, item-level permissions, batch operations, list thresholds, content types and metadata, versioning and recycle bin settings, hardware and infrastructure, and regular monitoring and optimization. Keep lists simple and streamlined, avoid excessive data or columns, and use indexed columns strategically for faster query performance. Optimize list views to display only necessary columns and limit item returned. Limit unique permissions and consider alternative solutions for securing sensitive data. Regularly monitor SharePoint performance using tools like SharePoint Health Analyzer and performance counters to identify bottlenecks and areas for optimization Sex Crime Lawyer Fairfax VA.
ReplyDeleteGreat post! For top-quality, sustainable food packaging in Australia, check out Elitepak. Your go-to in Sydney and Melbourne!
ReplyDeleteOptimizing SharePoint server performance involves several strategies and tips. These include using filters and filters, dividing the database into smaller parts, adjusting the treshold, using folders and sub-libraries, using efficient filters and filters, using indexes and universal commands, minimizing the number and type of tasks, using remote BLOB storage (RBS), caching and optimizing applications, implementing regular maintenance and patching, and using alternative tools like PowerApps and Power Automate. By following these strategies, users can improve SharePoint server performance, ensuring that users can access and retrieve data quickly and efficiently. By following these strategies, users can enhance their SharePoint experience and ensure that they can efficiently manage and retrieve data criminal attorney loudoun county.
ReplyDeleteExplores common performance challenges associated with SharePoint lists, such as slow loading times, limited search capabilities, and issues with large data volumes. It offers practical tips and best practices for improving list performance, including strategies for indexing columns, reducing the number of lookup fields, and implementing effective view filters. Pension Lawyer in Colombia
ReplyDelete