Каковы оптимальные методы работы с XML-столбцами Sql-сервера для обеспечения быстрой производительности и удобства отчетности?
Как настроить столбец?Вы оставляете это как нетипизированный?или связать его со схемой?
Улучшает ли сопоставление столбца xml со схемой производительность запросов?
Мы используем следующие столбцы xml:
A.> Вкл.В расчете на одного клиента мы можем определить гибкое хранение их данных без перестройки нашей базы данных.
B.> Нам нужно создать представления отчетов для каждого клиента, которые возвращают свои данные, как если бы это была простая таблица (для отчетов Crystalили Sql Server Reporting Services).
Синтаксис, который мы в настоящее время используем для запросов, выглядит следующим образом:
SELECT
Id,
doc.value('@associatedId','nvarchar(40)') as AssocId,
doc.value('@name1', 'nvarchar(255)') as Name1,
doc.value('@name2', 'nvarchar(255)') as Name2,
doc.value('@name3', 'nvarchar(255)') as Name3,
doc.value('@number', 'nvarchar(255)') as Number
From OrderDetails
CROSS APPLY OrderDetails.XmlData.nodes('//root/reviewers/reviewer') as XmlTable(doc)
Есть ли более быстрый способ сделать это?этот запрос выполняется медленно для нас в таблице с 1 миллионом записей, но только 800 в настоящее время имеют данные XML!
Спасибо
Пит