Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SharePoint Lists vs Database Tables performance

  1. We are looking to store transactional data in SharePoint lists. The lists will easily grow to 100,000+ items.
  2. How would the query performance be compared with queries on a database table with these columns?

Queries: Select by Id Select Where ColumnValue = X Group By OrderId Group By Date

The SP List will be 6 columns wide: Id, Date, OrderId (Lookup), Quanity, ItemName, Title

like image 646
SharePoint Newbie Avatar asked Oct 08 '08 20:10

SharePoint Newbie


2 Answers

Don't do it. SharePoint is not good at handling transactional data and will perform badly.

Any abilities you might have to improve performance at the database level (like adding indexes) may have detrimental effects on the SharePoint installation (although columns in lists can be "indexed" through SharePoint.

Essentially SharePoint is designed for a specific purpose (content/documents) and trying to get it to do something out of the ordinary means you have to fight the application tooth and nail.

Fortunately SharePoint has several means of integrating transactional data into it.

First off (if you have the more expensive Enterprise licence) you have the Business Data Catalog that allows you to import database values that will appear similar to list items.

If you do not have the Enterprise licence, I can recommend either custom controls/webparts or the Data View Web Part to allow that data to be "shown" on the relevant pages within SharePoint.

In summary: You will be setting yourself up for a lot of uneccesary work by storing transactional data within SharePoint compared to other application designs hosting the data in traditional database applications and integrating to SharePoint.

like image 143
Nat Avatar answered Oct 11 '22 23:10

Nat


I concur with all of the above comments. I've had extensive experience with customers who wanted to use SharePoint lists for things where they didn't fit. If you're worried about performance at all, then SharePoint lists are not the way to go. If it's simply for archival purposes and you are doing infrequent searches against the data and the SharePoint search features are sufficient for you, I might consider it and not dismiss it out of hand (if you're using MOSS).

But I would consider all aspects of this carefully. It's not too difficult through Data Form Web Parts, and the BDC to get SQL server data into the SharePoint environment, but it is more difficult to get SharePoint data into other platforms or applications.

And again, if performance is at all a requirement, then don't do it.

For more SharePoint scalability and performance best practice information see: http://technet.microsoft.com/en-us/library/cc287790.aspx

like image 33
Lloyd Cotten Avatar answered Oct 12 '22 00:10

Lloyd Cotten