小编Mid*_*one的帖子

为什么 SQL 使用相同的 XML 查询结构进行索引扫描和查找?

我已经设置了一个测试来对 SQL 服务器中的 xml 性能进行基准测试。

测试设置

  • 一百万行数据
  • XML 定义的具有主键的列
  • 一个主要的 XML 索引
  • 路径上的辅助 XML 索引
  • XML 数据在格式上相似,但在每个文档中都有可变的标签名称

表和索引设计

CREATE TABLE [dbo].[xml_Test]
(
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [GUID] [varchar](50) NULL,
    [JSON_Data] [varchar](max) NULL,
    [XML_Data] [xml] NULL,
    CONSTRAINT [PK_xml_Test] PRIMARY KEY CLUSTERED ([ID] ASC)
);

ALTER TABLE [dbo].[xml_Test] ADD  CONSTRAINT [DF_xml_Test_GUID]  DEFAULT (newid()) FOR [GUID];
ALTER TABLE [dbo].[xml_Test] ADD  CONSTRAINT [PK_xml_Test] PRIMARY KEY CLUSTERED ([ID] ASC);

CREATE PRIMARY XML INDEX [PK_xml] ON [dbo].[xml_Test]
(   [XML_Data]);

CREATE XML INDEX [IX_xml_Path] ON [dbo].[xml_Test] …
Run Code Online (Sandbox Code Playgroud)

performance xml sql-server t-sql index-tuning

9
推荐指数
2
解决办法
226
查看次数

标签 统计

index-tuning ×1

performance ×1

sql-server ×1

t-sql ×1

xml ×1