小编Dan*_*nny的帖子

带有 Xml 索引的 Sql Server Enterprise 2008 R2 分区切换

好吧,sql db 分区和切换似乎不是一个高度讨论的话题,但它是我正在实施的东西。我在分区功能、分区模式、文件组分配等所有领域都取得了成功。到目前为止,我没有遇到任何分区切换问题,直到发现一个讨厌的 xml 字段正在扼杀性能。所以我尝试添加一个简单的主 xml 分区,但现在所有分区切换都失败了。下面是我在玩的表结构的模拟。

CREATE TABLE [MySchema].[DataTable](
    [PartitionKey] [varchar](12) NOT NULL,
    [Id] [uniqueidentifier] NOT NULL CONSTRAINT [DF_DataTabe_Id] DEFAULT NewId(),
    [ClientId] [smallint] NOT NULL,
    [ProjectId] [int] NOT NULL,
    [ResponseValue] [nvarchar](255) NULL,
    [ResponseValueXml] xml NULL,
 CONSTRAINT [PK_DataTable] PRIMARY KEY CLUSTERED 
(
    [PartitionKey] ASC
    , [ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  =ON, ALLOW_PAGE_LOCKS  = ON) 
ON PS_MySchema(PartitionKey)
) ON PS_MySchema(PartitionKey)
Run Code Online (Sandbox Code Playgroud)

对此的一些说明是,分区键是一个基于 clientId、年份和另一个值的复杂/计算键。分区模式建立在一个分区函数上,该函数将客户 + 日期分组,然后将它们放入单独的文件组(按年份) - 使滑动窗口方法易于管理。

事情的一般流程是在同一个文件组中创建一个工作表,使用alter table将所需的分区从DataTable切换到工作表。对着工作台做一些事情,完成后切换回去。这很好用......直到我在 ResponseValueXml 上添加一个主要的 xml 索引。alter table …

sql-server-2008

5
推荐指数
1
解决办法
431
查看次数

标签 统计

sql-server-2008 ×1