对于使用频率较高的物理文件,可以采用以下策略:
  1. 将I/O尽可能平均分配在尽可能多的磁盘上。
  2. 为表和索引建立不同的表空间。
  3. 将数据文件与重做日志文件分离在不同的磁盘上。 2和3,在数据库中该如何操作,有谁能帮忙把步骤写一下!!!

解决方案 »

  1.   

    像表空間,重做日志好像都是oracle中的問題,怎麼跑到這裡來了???
      

  2.   

    SQL数据库应该也可以把数据库文件和日志文件分开放在不同的磁盘上吧
      

  3.   

    ---日志文件、数据文件、索引数据文件分开存放
    CREATE DATABASE [test] ON  PRIMARY 
    ( NAME = N'test', FILENAME = N'D:\db\test.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ), 
     FILEGROUP [sec] 
    ( NAME = N'index_data', FILENAME = N'f:\index_db\index_data.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
     LOG ON 
    ( NAME = N'test_log', FILENAME = N'e:\log\test_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)use test
    go
    CREATE TABLE [test](
    [品名] [varchar](10) NULL,
    [数量] [int] NULL
    ) ON [PRIMARY]   ---将表存放在 主数据文件上GO
    GO
    CREATE NONCLUSTERED INDEX [sf] ON [dbo].[test] 
    (
    [品名] ASC
    ) ON [index_data]  --将索引数据放到 index_data数据文件上GO也可以在创建数据库后 追加文件组,向该文件组中添加数据文件,然后创建索引的时候,选择存放到指定的数据文件上
      

  4.   

    oracle中的表空间 相当于 SQL SERVER中的数据文件组。
    修改索引数据存放的位置 右键索引---属性---存储--选择对应的文件组---点确定即可。日志文件不能联机移动。好像只能停止服务后再 MOVE TO 
      

  5.   


    纠正:
    CREATE NONCLUSTERED INDEX [sf] ON [dbo].[test] 
    (
    [品名] ASC
    ) ON [sec]  --将索引数据放到 sec组的 index_data 数据文件上GO
      

  6.   

    http://blog.csdn.net/dba_huangzj/article/details/7630136我这里有如何移动文件的例子,首先你可以把数据库分为多个文件组,然后根据我博客的方法把文件组转移到你想要的盘里面。分文件组是为了进一步减少IO,比如把系统数据放到primary,把数据放到另外一个文件,把索引放到第三个文件,这样再把3个文件放到合适的盘里面。当然,这步可以不做,
      

  7.   

    补充一下,联机丛书alter table就有教你怎么把某个表放到指定文件组,索引创建同理