我在SQL Server 2016中使用XML数据类型列遇到了性能问题。看起来我的查询一遍又一遍地循环遍历xml。这是我的设置:
CREATE TABLE [dbo].[MYTABLE]([ID] [int] IDENTITY(1,1) NOT NULL,[XMLDATA] [xml] NULL,CONSTRAINT [PK_MYTABLE] PRIMARY KEY CLUSTERED ([ID] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
导入大约3,000个xml文件(大小约200KB),看起来与此类似:
<root>
<item>
<transaction>
<prop1></prop1>
<prop2></prop2>
</transaction>
<load>
<loaditem>
<loadprop1></loadprop1>
<loadprop2>
<loadsubprop1></loadsubprop1>
</loadprop2>
</loaditem>
</load>
</item>
</root>
其中可以有400到500个&#34; loaditems&#34;。
我使用this article
对总共3300条记录执行简单查询是可怕的;只查询事务/ prop1和prop2部分需要45秒......
答案 0 :(得分:0)
似乎我的查询在没有索引的情况下表现得更好。我删除了它们而不是45秒,它减少到2秒......