How to Separate Data and Indexes of a Table into Different Files
December 7th, 2007 by Andrew Chen
I knew for a long time that you can use file groups to place the data and index of a table on separate files and physical disks so to improve database performance. I didn’t know that we can place data and index onto different files in the same file groups until I read this article. The article gives really great tips on how to use SQL server file groups. However I don’t understand the following. It says,
For very large database (VLDB), tables and their related indexes should be separated onto separate files and physical disks for optimum performance running queries, but not separate filegroups. If they are in separate filegroups, then you cannot back up and restore them as a single unit.
As far as I know
So I did some researches and concluded that was a false statement. Basically there is no way you can tell SQL server to create table or index on a specific file. You can only tell SQL server to create them on specific file groups. However you can create a file group that has different files that are located on separated physical disks. In that way the data of a table and its related indexes created in on this file group can spread over multiple physical disks. It also improves performance and it allows you to backup and restore data and indexes as a single unit. I believe this what this statement mean to say.


“…Basically there is no way you can tell SQL server to create table or index on a specific file…”
Actually there is
Partition Tables / Index
Read the article bellow:
http://msdn2.microsoft.com/en-us/library/ms345146.aspx
What I mean is if you create table and and its indexes in the same file group then you can not instruct SQL server to create them on different files in that same file group. That was a false statement in that article.