A while ago, I had attempted to normalize a huge list I had to remove redundancy. This main list was hence joined with another 2 more lists as a result.

Right after, users were complaining about slow performance when querying the list through a webpart. Do note that the main list had a huge number of records. If I remember correctly close to list item threshold.

I hence reverted back to the non-normalized way, i.e. a lot of redundancy for those non-mandatory / non-relevant fields.

I have an upcoming project and am currently at the phase of designing lists and this made me wonder if I should attempt to normalize or not.

Some questions:

  • Will normalization of lists affect performance positively or negatively? Why?
  • Or is it more to how my querying is done that had affected my performance instead of structure of lists?

Appreciate your views in advanced. Thanks.

  • I think we need more information about your project. Because the answer could not be YES or NO. Apr 13, 2016 at 13:14
  • @jpussacq definitely not expecting a yes or no. Just wanted views on normalization and performance in general. Modified my post a bit. Hope its clearer. Thanks. Apr 13, 2016 at 13:21
  • I add some info in an aswer, but it is a big topic. Apr 13, 2016 at 13:46

1 Answer 1


SharePoint is not a relational database system. Therefore it does not have any interesting feature for query optimization.

  • The CAML language is definitely more limited than SQL.
  • Join type queries are difficult to make. And they are costly to performance.
  • All SharePoint lists are stored in the same SQL table (almost).
  • And it is not supported by Microsoft access directly SharePoint content database.

With this introduction, I mean you have to be considerably exceeded careful when designing the data structure.

Consider things like:

  • Sites per sites collection
  • List per site
  • Items per list
  • Types of query
  • If you are able to do development in C # or not. This can drastically change the solution. Because without development you are very limited with views of SharePoint (with configuration or SharePoint Designer)

Overall very normaliced system seems not be the best option for SharePoint. But I am not in favor of redundancy, either

It is very difficult to give an answer. It would be best to know what kind of model your are designed. I think we can help more wit more info.

Please do not stop to ask if you need more info. I have asked this question in the last 10 years, every time I start a SharePoint project.

And I love SharePoint :-) But as they always say. Must be designed in the manner of SharePoint. No SQL or .Net.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.