none
请教一下SQL文件组 RRS feed

  • 问题

  • 尊敬的微软工程师,

    我看如下微软官方链接:

    https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-ver15

    关于SQL文件组我不是很了解,在此请教链接中段落中:

    例如,可以分别在三个磁盘驱动器上创建三个文件 Data1.ndf、Data2.ndf 和 Data3.ndf,然后将它们分配给文件组 fgroup1。 然后,可以明确地在文件组 fgroup1 上创建一个表。 对表中数据的查询将分散到三个磁盘上,从而提高了性能。 通过使用在 RAID(独立磁盘冗余阵列)条带集上创建的单个文件也能获得同样的性能提高。 但是,文件和文件组使您能够轻松地在新磁盘上添加新文件。

    请问如果再添加第四块磁盘创建Data4.ndf,能否再添加到文件组fgroup1中?


    谷青松

    2019年11月21日 8:03

答案

  • 可以的。这样可以解决前三个磁盘空间不足的问题。但是这样会导致数据分布不均衡,影响性能。


    想不想时已是想,不如不想都不想。

    • 已标记为答案 谷青松 2019年11月21日 8:57
    2019年11月21日 8:53
    版主

全部回复

  • 可以的。这样可以解决前三个磁盘空间不足的问题。但是这样会导致数据分布不均衡,影响性能。


    想不想时已是想,不如不想都不想。

    • 已标记为答案 谷青松 2019年11月21日 8:57
    2019年11月21日 8:53
    版主
  • 官方网页不是说 对表中数据的查询将分散到三个磁盘上,从而提高了性能。你为啥说影响性能呢,困惑!

    谷青松

    2019年11月21日 9:01
  • 旧数据在三个磁盘上,这个性能没问题。但是添加第四个磁盘后,第四个磁盘上的文件剩余空间比较大,前三个磁盘上的文件剩余空间比较小(从另外一个帖子推断,你是因为前面的磁盘空间不足,才会想要添加新磁盘的),那么新数据会比较多的存储在第四个磁盘上。

    对于OLTP系统来说,新数据的读写要比旧数据要多,那么负担就会主要压到第四个磁盘上,前三个磁盘没有利用起来。所以会影响性能。


    想不想时已是想,不如不想都不想。

    2019年11月21日 9:09
    版主