在SqlServer2005中,建表時是默認把所有的表都保存在PRIMARY默認表空間中的。當數據庫中表很多,並且數據量很大時,會導致數據庫性能嚴重下降,有必要將一些大的表放到不同的表空間中去。
主要的步驟如下所示:
1、建立表空間(數據文件)
USE [master]
GO
ALTER DATABASE [TestDB] ADD FILEGROUP [Log1]
GO
ALTER DATABASE [TestDB] ADD FILE ( NAME = N'Log1', FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\Log1.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [Log1]
GO
首先是在TestDB上建立文件組Log1
然后在文件組Log1上加入文件Log1,初始值3M
2、建表時使用這個表空間
USE [TestDB]
GO
CREATE TABLE [dbo].[Log](
[aa] [nchar](10),
[bb] [nchar](10)
) ON [Log1]
3、建索引時使用不同的表空間
create index IX_LOG_BB on dbo.log(bb) on [Log2]
另外:
對一些特別大的表,還需要將一張表的數據根據條件放到不同的表空間中去,這就需要再進行表分區的操作。
Oracle表空間,是Oracle的邏輯結構。一個Oracle數據庫可以有一個或者多個表空間。一個表空間又對應着多個物理的數據庫文件。