我有一个表,其中包含几列,然后是 2 个最终(可为空)列,它们是 varbinary(实际上,它们是 SQL 2008 地理类型,但我想让这个帖子数据库不可知)。
我已经用大约 200K 行达到了大约 500mb。varbinary 是问题所在 - 我需要数据。
所以,我想知道如果我执行以下操作是否不好:-
- 创建一个单独的文件组:SpatialData.mdf
- 创建一个新表,分配给该新文件组。
- 将所有空间数据(读取:最后两个字段)从原始表中移出到新表中。新表具有针对原始表的外键。
- 创建一个表示两个表的视图。
现在,视图将是左外连接,因为关系是:新表与原始表的关系为零或一。
例如。
原始表
FooId INT PK NOT NULL IDENTITY
Blah VARCHAR(..) NOT NULL
Boo WHATEVER NOT NULL
新表
FooID PK FK NOT NULL
Spatial_A VARBINARY(MAX)/GEOGRAPHY
Spatial_B VARBINARY(MAX)/GEOGRAPHY
我想知道这是否不好的原因是视图以及视图如何在空间表上进行连接。我会经常使用视图。目前,我只是对原始表进行查询(因为新表还不存在)。通过添加此连接和 PK/FK 关系,这会影响性能吗?
为什么要拆分数据?我需要不时将实时数据库下载到我们的开发服务器。我们并不太关心这两个空间场,所以没有它们也可以。因此,要下载的数据库的大小会小很多。
想法?