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 2000 Forums
 Analysis Services (2000)
 Data warehouse database

Author  Topic 

ygeorge
Yak Posting Veteran

68 Posts

Posted - 2003-06-19 : 14:10:37
When creating a data warehouse database, there are always some huge fact tables. Is it a good practice to spread a fact table to several data files? For example, I have a TB1 table which has hundred of million rows. Is it a good idea to spread the table on data files (such as DF1, DF2...). How to make it, and how many data files are proper?

Thanks,
George

robvolk
Most Valuable Yak

15732 Posts

Posted - 2003-06-19 : 18:28:27
Yes, you can:

A) Create a filegroup for just that table, and add multiple files to the filegroup. The table will be spread evenly across the files and can allow for parallel reads. However, this is only useful if each file in the filegroup resides on a separate physical disk (not just a logical partition), and you have no real control over exactly how the data is stored.

or

B) Look into partitioning the data into several tables and use a partitioned view to manage the querying. This is really only viable under SQL Server 2000, although it *can* be done in SQL 7.0 it's far more difficult to manage the INSERT, UPDATE and DELETE operations. You'd still need to set up separate filegroups for each table, and again it's only worthwhile if the files reside on separate disks.

There are two options for partitioned views: horizontal and vertical. One has multiple tables with the same structure but fewer rows, the other has fewer columns but contains all of the rows in each table. You'd have to look at how you query the data to determine which is right for you, maybe even a combination of the two (not likely though). Books Online explains partitioned views better than I can, take a look.

Go to Top of Page
   

- Advertisement -