我创建了一个包含2个表的草稿数据库:dbo。 D 和dbo。 F ,接下来我为dbo创建了一个新的文件组。 F 和一个文件。
USE DEV
ALTER DATABASE DEV
ADD FILEGROUP [BLOB]
ALTER DATABASE DEV
ADD FILE
(
NAME= 'blob',
FILENAME = 'D:\MS SQL\DB\blob.mdf'
)
TO FILEGROUP [BLOB]
接下来,我删除聚集索引并重新创建它,指定文件组名称。
ALTER TABLE F
DROP CONSTRAINT [F_PK] WITH (MOVE TO BLOB)
ALTER TABLE F
ADD CONSTRAINT [F_PK] PRIMARY KEY CLUSTERED
(
ID
)
WITH (IGNORE_DUP_KEY = OFF) ON BLOB
CREATE UNIQUE CLUSTERED INDEX F_PK
ON dbo.F(ID)
WITH DROP_EXISTING
ON [BLOB]
接下来,我使用随机二进制数据创建了超过2k INSERT的查询和完整的dbo。 F 。
问题!
为什么在这张图片上我的新文件组文件的重量与默认文件组的文件不同?
答案 0 :(得分:0)
如果没有看到表的完整模式......您的聚簇索引中只有ID,这意味着您插入的所有数据仍在主文件组中。 blob
中唯一的东西是你的ID值的索引,我假设它不会像你插入的二进制数据那么大。我的假设基于ID为INT列...
当然,如果ID是您存储二进制数据的列,那么这是无关紧要的,但我认为如果您将其用作PK和聚簇索引则不是这种情况。