Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2008 Forums
 SQL Server Administration (2008)
 3000 Tables in a DB. Any performance affects?

Author  Topic 

muratos
Starting Member

22 Posts

Posted - 2011-07-08 : 11:44:05
Hi,

We think of very well isolating data in small but lots of tables. Around 3000, with automated scripts. And aim to direct query traffic according to parameters to only one related table. So, a query can not read multiple tables. Our system is faster and we believe that it would make less blocking with inserts and faster index rebuilts.

Any negative issues in system level operation of SQL Server 2008 R2?
What do you think?

robvolk
Most Valuable Yak

15732 Posts

Posted - 2011-07-08 : 11:57:07
By "isolating" do you mean 1) partitioning large tables based on data values, 2) separating data for security reasons, 3) something else? There are other ways to accomplish 1 and 2.

If you're not expecting the number of tables to increase, and you're comfortable managing it, I can't think of a particular downside except wasting space. Each table will require at least 1 8K page to be stored, and each index on that table would also require at least 1 page. If the tables are relatively small this would leave a lot of empty space that can't be consolidated.

This extends to SQL Server's data buffer space too, as pages will be removed to make room for new tables, and the read-ahead feature can't be used to best advantage.
Go to Top of Page

muratos
Starting Member

22 Posts

Posted - 2011-07-11 : 02:23:32
@robvolk. first of all, sorry for the late reply.

We will create the 3000 tables beforehand and the number of them will not change by time. Tables will hold 200,000 to 10,000,000 rows each.

We aim to do it to partition data according to search queries as you stated in 1. I know that it is possible to use partitioned tables but we think it is even better.

So, it seems like there is no downside except wasting space, right?
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2011-07-11 : 07:39:27
It's impossible to say what other problems might arise without testing different scenarios. I can say that I would never design something like that, and neither would most professionals I know. It's easy to say now that the number of tables will never increase, but don't be surprised 6-12 months from now when it does.

If partitioning is not an option due to SQL edition support, that's one thing. But multiple tables will not necessarily perform better than a properly partitioned and indexed table, and indeed could perform worse. Lots of people have 100+ million row tables that perform very well.
Go to Top of Page
   

- Advertisement -