Sql Server2005不同的表使用表空间的问题


  本文标签:SqlServer2005

  SqlServer2005中,不同的表使用的表空间也是不一样的,下面就将为您详细解读Sql Server2005不同的表使用表空间的问题,希望对您学习Sql Server2005有所帮助  。

  在SqlServer2005中,建表时是默认把所有的表都保存在PRIMARY默认表空间中的  。当数据库中表很多,并且数据量很大时,会导致数据库性能严重下降,有必要将一些大的表放到不同的表空间中去  。
主要的步骤如下所示:

  1、建立表空间(数据文件)

  1. USE [master]  
  2. GO  
  3. ALTER DATABASE [TestDB] ADD FILEGROUP [Log1]  
  4. GO  
  5. ALTER DATABASE [TestDB] ADD FILE ( NAME = NLog1FILENAME = ND:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\Log1.ndf , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [Log1]  
  6. GO 

  首先是在TestDB上建立文件组Log1
然后在文件组Log1上加入文件Log1,初始值3M

  2、建表时使用这个表空间

  1. USE [TestDB]  
  2. GO  
  3. CREATE TABLE [dbo].[Log](  
  4.     [aa] [nchar](10),  
  5.     [bb] [nchar](10)  
  6. ) ON [Log1] 

  3、建索引时使用不同的表空间

  1. create index IX_LOG_BB on dbo.log(bb) on [Log2] 

  另外:
对一些特别大的表,还需要将一张表的数据根据条件放到不同的表空间中去,这就需要再进行表分区的操作  。